Lam's Profil: bas. | Harkonnen a écrit :
edit: de plus, l'intéret de mon topic, c'est justement de montrer comment on faisait à l'époque ou l'on avait que le processeur, le DOS et un bon assembleur/compilateur sous la main, quand SDL/OGL/DX et autres n'existaient pas. ne le prend pas mal, mais je pense personnellement que coder une démo en utilisant ce genre de lib n'a strictement aucun intéret, puisque le boulot est maché
|
Bon, je pensais que le topic était plus sur les effets eux-mêmes plutôt que les bidouilles hardware (surtout qu'il y en a un paquet qui ne fonctionnent plus sur les cartes de nos jours, des modes VESA introuvables aux comportement en scroll hard ou en blit). Certes, pour coder un plasma en swappant 2 pages comme le faisait 2nd Reality par exemple, c'est pas très possible en DDraw. Mais franchement, je pense pas qu'il y ait grand intérêt à se limiter aux modes VGA et Vesa juste pour le plaisir de mouiller une larme de plus. Il y a encore un milliard de trucs à expliquer dans le topic qui peuvent se faire en faisant abstraction du mode vidéo : tout ce qui concerne le mapping 3D (expliquer comment on faisait le flat, le gouraud, le phong, l'env-map, le bump, le mapping linéaire, et le Z-corrected, le subpixel et le subtexel, etc.), et les effets 2D plus gourmands en terme de CPU (eau, projection de lumière, bump, déformations, plasmas, rubber bars, et toutes les couilles que jMagic ait jamais produit), etc.
Si un jour je déterre mon PC d'il y a 7 ans, je pourrais te ressortir les derniers effets 2D que j'avais fait à l'époque (du bump à gogo, des torsions, des déformations, etc.), et il n'y en a pas un seul qui soit dépendant de mode vidéo. En fait, j'utilisais une toute petite couche d'abstraction qui faisait que je codais sous Watcom, et que ça tournait ensuite en X-shm, en X-dga, en Direct Draw, ou même en mode texte
Bref, tout ça pour dire que démarrer le graphisme en regardant les effets old-school et les astuces de vieux loups, c'est une très bonne idée, mais autant le faire dans le contexte technique de nos jours (des libs qui tournent indépendamment du système, des compilos qui ont des features modernes et qui ont réglé depuis longtemps les problèmes d'aliasing de variables et de volatile ), et des fonctions qui ne partent plus du principe qu'il suffit de se synchroniser sur la VBL et le monde sera beau...
|