Projet de topic tutorial sur la programmation d'effets graphiques

Projet de topic tutorial sur la programmation d'effets graphiques - Divers - Programmation

Marsh Posté le 12-09-2003 à 22:01:32    

Sur le principe de l'excellent tuto de LeGreg sur la réalisation d'un raytracer en C++, j'envisage de faire une série d'articles sur la programmation des effets graphiques utilisés dans les démos old-school (années 90, ou tout se faisait sous DOS).
 
Le langage utilisé était alors l'assembleur. Ce langage n'étant pas simple d'accés, mais néanmoins très formateur, je demande votre avis :
 
Souhaitez vous que les sources composant ces articles soient en C ou en assembleur (avec bien évidemment de nombreux commentaires) ?
 
Cloture du sondage mercredi soir :)
 
edit: j'éclate le premier qui me parle de VB :D
Par contre, quel que soit le vote, il y aura de toute façon des parties qui seront forcément en assembleur, tel que la fonction d'attente du retour de balayage, ou la fonction de mesure du temps machine, celle d'init du mode vidéo, etc...
Ce sont des fonctions qui pour la plupart utilisent des registres de la carte graphique.


Message édité par Harkonnen le 17-09-2003 à 16:09:45

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 22:01:32   

Reply

Marsh Posté le 12-09-2003 à 22:04:10    

Full assembleur ça peut être sympa, mais je crois qu'un mélange des deux sera plus accessible, non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-09-2003 à 23:19:38    

Je préfererais évidemment le faire en assembleur, mais c'est clair que je risque de perdre du monde en route :/
D'un autre coté, le faire en full assembleur, ça serait sympa pour apprendre, et se rendre compte que ce n'est pas si complexe que ça, non ?  
 
PS: a voté :whistle:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 23:21:32    

d'un autre côté avec que de l'assembleur, tu achètes la paix de ton âme [:taz]  
 
bonne idée en tout cas

Reply

Marsh Posté le 12-09-2003 à 23:24:32    

Taz a écrit :

d'un autre côté avec que de l'assembleur, tu achètes la paix de ton âme [:taz]  


justement, si ça se fait en C, ça sera pas la peine de gueuler, parce que je te préviens d'avance : le code sera tout, sauf beau et standard ! la rapidité avant tout [:ddr555]
 
mais si tu veux, j'utiliserais quand même GCC :whistle:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 23:26:01    

ben l'intéret de faire du C et de le faire beau, claire et standard (le plus possible évidemment), c'est d'augmenter très fortement la compréhensibilité

Reply

Marsh Posté le 12-09-2003 à 23:35:21    

Taz a écrit :

ben l'intéret de faire du C et de le faire beau, claire et standard (le plus possible évidemment), c'est d'augmenter très fortement la compréhensibilité

je tacherais de faire un effort ;)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 23:43:20    

bon, je colle ce topic sticky jusqu'a mercredi, sinon vu que c'est le week end, personne ne va le voir et le vote ne sera pas significatif :/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 23:45:20    

Harkonnen a écrit :

je colle ce topic sticky jusqu'a mercredi,


 
abus de pouvoir :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-09-2003 à 23:47:01    

antp a écrit :


 
abus de pouvoir :o


bah c'est surtout pour éviter que des gens qui seraient intéressés par tel ou tel langage ne puissent pas répondre car ils sont absents pour le week end [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 12-09-2003 à 23:47:01   

Reply

Marsh Posté le 12-09-2003 à 23:56:37    

j'ai pas encore voté, ça m'intéresse, mais j'hésite entre ASM et C.
 
Pour les performances, OK mais vu la puissance des machines actuelles et qu'il s'agit de faire des démonstrations d'effets old-school, je me demande si le C n'est pas plus approprié (j'ose pas imaginer comment ça serait lent en VB donc je ne le suggère même pas [:ddr555])
 
D'un autre côté, j'aime bien aussi l'assembleur donc je n'y vois personnellement aucun inconvénient. Mais, quel est le but principal? Programmation d'effets graphiques ou montrer comment bien optimiser du code en assembleur? Mon coeur balance.

Reply

Marsh Posté le 13-09-2003 à 00:07:44    

drasche a écrit :

Mais, quel est le but principal? Programmation d'effets graphiques ou montrer comment bien optimiser du code en assembleur? Mon coeur balance.


C'est la programmation d'effets graphiques, rien de plus [:sinclaire]
Plasmas, rotozoom, starfield, etc... Ce sont des principes hyper simples pour la plupart, des idées toutes connes, mais il fallait y penser.
Pour l'optimisation, c'est pas à l'ordre du jour, sinon ça sera synonyme de code incompréhensible en assembleur :/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 00:19:17    

a voté :o

Reply

Marsh Posté le 13-09-2003 à 00:21:46    


pourquoi t'as voté ça, faux frère ? [:toad666]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 00:25:14    

Malgré les qualités indéniables de l'assembleur, je trouve qu'un source en C sera infiniment plus lisible, ne serait-ce que pour comprendre l'aspect algorithmique, et après, libre à chacun de tenter en assembleur.
 
Et rien ne t'empêche d'illustrer un truc ou l'autre en assembleur, ceux qui n'aiment pas passeront leur chemin [:spamafote]

Reply

Marsh Posté le 13-09-2003 à 00:26:42    

drasche a écrit :


Et rien ne t'empêche d'illustrer un truc ou l'autre en assembleur, ceux qui n'aiment pas passeront leur chemin [:spamafote]


J'ai édité mon 1er post pour apporter une petite précision :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 00:27:47    

Harkonnen a écrit :

J'ai édité mon 1er post pour apporter une petite précision :o


:jap:
 
cet aspect des choses ne me revenait plus en mémoire mais il me semblait bien qu'il y avait des parties ASM indispensables [:gratgrat]

Reply

Marsh Posté le 13-09-2003 à 09:00:38    

sur www.flipcode.com, y a une bonne base en C/Assembleur de ce genre d'effets. Tu peut pe regarder comme il présente ça.

Reply

Marsh Posté le 13-09-2003 à 16:01:00    

en C jcrois que c le mieux et le + lisible surtout
 
c vrai que lassembleur a des avantages (surtout avec le mode 13h) mais bon faut ptet tourner la page aussi
 
jattend ce topic avec impatience, surtout pour voir des effets que je nai pas encore realise (ca va etre dur ca qd meme  :whistle:  )

Reply

Marsh Posté le 13-09-2003 à 21:11:32    

Euh question :D
Les "programmes" (exemples) utiliserons des librairies graphique comme openGL/directX(pas la tête :p) ou pas ?
 
Car si ils sont écrits en opengl ou autre le C/C++ serais surement mieux.
Sinon Full Assembleur  :bounce:  
 
 
Ps: apres avoir réfléchis 30 sec (faut pas pousser non plus) des effets graphiques en openGL je vois pas trop mais bon j'y connais pas grand chose non plus [:ffluff]


---------------
«Le succès consiste à aller d'échecs en échecs sans jamais perdre son enthousiasme» - Churchill
Reply

Marsh Posté le 13-09-2003 à 21:17:17    

on a dit "old-school", on fait tout à la main :o
 
faut lire aussi hein :o

Reply

Marsh Posté le 13-09-2003 à 21:21:41    

oops :p j'ai zapper une ligne  :jap:


---------------
«Le succès consiste à aller d'échecs en échecs sans jamais perdre son enthousiasme» - Churchill
Reply

Marsh Posté le 13-09-2003 à 21:21:45    

fFluFf a écrit :

Euh question :D
Les "programmes" (exemples) utiliserons des librairies graphique comme openGL/directX(pas la tête :p) ou pas ?


Aucune librairie graphique ! Tout sera fait à la main ! C'est justement le principe : connaitre les algos qui permettent de réaliser les effets des librairies !
Et ça sera pas forcément de la 3D hein ! Pour mon 1er article, j'envisage d'attaquer doucement avec la création des défilements d'étoiles en 2D
Puis viendront les plasmas, shade bobs, etc...
 
edit: [:benou_grilled]


Message édité par Harkonnen le 13-09-2003 à 21:23:52

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 21:36:40    

sinon on peut indiquer le buffer dans lequel se trouveront les resultat (et le format aussi ),... libre apres a chacun dimplementer ca comme il le souhaite (directdraw, texture animee pour opengl,...)

Reply

Marsh Posté le 13-09-2003 à 21:44:17    

mmm, réflexion faite, je sais pas si j'utiliserais gcc comme compilo C ! ça a l'air carrément galère d'y insérer de l'assembleur en ligne :/
 

Citation :

asm (      \
  "movl %2,%%ebx\n\t"   \
  "movl %1,%%eax\n\t"   \
  "imull %%ebx\n\t"   \
  "shld $16,%%eax,%%edx\n\t"  \
  "movl %%edx,%0"   \
  : "=g" (__result)    \
  : "g" (a), "g" (b)    \
  : "%ebx","%eax","%edx" );   \ __result;     \
}


syntaxe AT&T, résultat récupérés bizarrement, retours à la ligne+tabulations... pas génial ! :/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 21:54:48    

fais le en full asm si c'est ce que tu veux :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-09-2003 à 21:58:48    

antp a écrit :

fais le en full asm si c'est ce que tu veux :D


:non:
vox populi, vox dei [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 21:59:23    

Harkonnen a écrit :

:non:
vox populi, vox dei [:sinclaire]


mais on sait bien que t'en as envie pas vrai? rien ne te ferais plus plaisir :D

Reply

Marsh Posté le 13-09-2003 à 22:02:21    

drasche a écrit :


mais on sait bien que t'en as envie pas vrai? rien ne te ferais plus plaisir :D

Mais le peuple l'a décidé autrement :D

Reply

Marsh Posté le 13-09-2003 à 22:06:31    


les nb a virgule flotante en asm ca ma pas souvent inspire  :whistle:  

Reply

Marsh Posté le 13-09-2003 à 22:07:11    

*Syl* a écrit :

Mais le peuple l'a décidé autrement :D


La cloture du sondage c'est mercredi hein :o
J'espère que certains afficionados vont se manifester d'ici là ! (chrisbk [:cupra])
Sinon, ça se fera en C, au moins les updates du topic seront plus rapides [:sinclaire]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 22:08:16    

red faction a écrit :


les nb a virgule flotante en asm ca ma pas souvent inspire  :whistle:  
 


y'en aura pas :o
la virgule fixe c'est pas fait pour les chiens :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 22:08:56    

Harkonnen a écrit :


La cloture du sondage c'est mercredi hein :o

Rêves pas trop harko ! [:rofl2]

Reply

Marsh Posté le 13-09-2003 à 22:53:57    

*Syl* a écrit :

Rêves pas trop harko ! [:rofl2]
 


bah y'a quand même un problème : je trouve pas de compilo C capable de me génerer des executables 16 bits avec un assembleur en ligne correct... :/


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-09-2003 à 23:00:01    

Harkonnen a écrit :


bah y'a quand même un problème : je trouve pas de compilo C capable de me génerer des executables 16 bits avec un assembleur en ligne correct... :/

Open Watcom C peut-être ?

Reply

Marsh Posté le 13-09-2003 à 23:05:04    

J'ai pas vraiment d'avis sur la question du langage
 
Par contre Taz va vouloir que ça tourne sous Linux..
 
LeGreg

Reply

Marsh Posté le 13-09-2003 à 23:13:53    

le bon vieux borland turbo c sous dos, c pas mal et l'ecriture de lasm inline est assez bien

Reply

Marsh Posté le 13-09-2003 à 23:18:17    

les bonnes vieilles démos PC tournaient sous DOS et non sous Linux :o
je vote aussi pour un Turbo C des familles :o

Reply

Marsh Posté le 13-09-2003 à 23:27:17    

drasche a écrit :

les bonnes vieilles démos PC tournaient sous DOS et non sous Linux :o
je vote aussi pour un Turbo C des familles :o


 
souvenirs  :love:

Reply

Marsh Posté le 13-09-2003 à 23:32:03    

drasche a écrit :

les bonnes vieilles démos PC tournaient sous DOS et non sous Linux :o
je vote aussi pour un Turbo C des familles :o


roh putain, le Watcom C sous DOS, ça c'était du compilo :love:
je me souviens des optimisations de fou qu'il faisait, ça en a dégouté plus d'un  :sweat:  
je d/l Turbo C, on verra bien (62 Mo l'Open Watcom C, spas cool pour les RTC [:benou])
bien évidemment, hors de question d'utiliser Visual, C++ Builder ou autre compilo 32 bits, pour la simple raison qu'on ne peut pas utiliser les interruptions en Win32 !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed