mardi 26 avril 2011

Rendu 3D

Depuis quelques mois je travaille sur une version de l'algorithme du zbuffer. Celui-ci permet le rendu en "3D" d'objets composés de faces planes (triangulaires ou quadrilatérales). La version que je propose est un algorithme par division de facettes. Deux autres versions sont proposées dans les sources : 1) avec un point de fuite (les lignes convergent en profondeur vers un point). Cette version n'est pas encore au point. Je dois encore peaufiner les calculs. 2 Une autre version qui ne fonctionne pas bien: rendu isométrique, qui est de loin le plus économe en temps de calculs.

La version par division de facettes fonctionne fort bien. Le cube est dessiné correctement sans qu'il y ait trop de débordements au niveau des pixels.

Une vidéo d'exemple avec un cube en rotation est proposée avec les sources.

Je vais passer à l'étape suivante qui est d'importer des modèles existants (meuble, théière, personnage humain, etc) et le rendre à l'écran.

Je remercie les quelques quidams qui m'ont défendu lors de mon précédent lynchage sur son site. (Si ça se reproduit je demande aux modérateurs la suppression de toutes mes contributions à Linuxfr). A vous de voir. Il y a d'autres sites où je peux présenter mes projets.

Ceci dit:
http://ibiiztera.be/devtools/projects/pmatrix/PMatrix.zip pour le code source (C++ à la dernière version) Notez qu'il n'y a pas encore de licence (il faut que je demande le texte à mon avocat et ça coute un os...)
http://ibiiztera.be/devtools/projects/pmatrix/output.avi pour le cube en rotation

http://youtube.com/manuh008/ pour les vidéos précédentes.

allez siesta si !

Aucun commentaire:

Enregistrer un commentaire

Laissez un comm dans la prise de tête