Obligement - L'Amiga au maximum

Dimanche 30 avril 2017 - 05:17  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


En pratique : 3D - le calcul des surfaces visibles
(Article écrit par François Baud, Patrick Conconi et Philippe Lopatka et extrait d'A-News (Amiga News) - novembre 1989)


La difficulté consiste à représenter de la manière la plus réaliste possible les éléments de la scène et leur position relative dans l'espace. Chaque objet étant constitué d'un assemblage de facettes élémentaires (polygones pour VideoScape et triangles pour Sculpt 3D/4D), il faut déterminer quelles facettes (ou portions de facettes) sont visibles pour l'observateur.

De nombreux algorithmes ont été développés mais nous allons n'en examiner que trois, ceux des logiciels testés.

L'algorithme du peintre

Un des algorithmes les plus connus utilise la notion de classement des facettes, il suppose qu'il est possible de les classer en leur attribuant un numéro qui dépend de leur position par rapport à l'observateur. On commence par la facette la plus éloignée de l'oeil, puis on se rapproche. Une fois le classement établi, on affiche sur l'écran la facette n°1 (la plus éloignée) qui donne un dessin de couleur occupant une certaine position de l'image. On affiche ensuite la facette n°2, une autre figure apparaît, qui peut être totalement séparée de la première ou bien venir recouvrir une partie ou la totalité de celle-ci.

On continue le processus en dessinant les facettes par ordre de numéro croissant et lorsqu'elles ont toutes été affichées, l'image finale ne représente que les parties visibles de la scène, les parties cachées ayant été effacées à un moment ou un autre par recouvrement. Ce procédé est connu sous le nom d'algorithme du peintre.

Cette technique présente quelques inconvénients car il est parfois impossible de classer les facettes en fonction de leur distance par rapport à l'observateur. Les programmes qui utilisent cet algorithme peuvent soit ignorer le problème (c'est le cas de la première version de VideoScape qui génère parfois des images incorrectes), soit y remédier en subdivisant les facettes critiques. L'examen de ces cas critiques peut aller jusqu'à doubler ou tripler le temps de calcul de l'image.

Les images obtenues avec cette méthode de calcul ont souvent un aspect très irrégulier et sans vie, il est difficile de leur ajouter des détails réalistes tels que des reflets ou des ombres. L'avantage de cette technique réside dans sa vitesse de dessin très élevée : VideoScape, qui utilise l'algorithme du peintre, peut dessiner un objet de plusieurs centaines de facettes en quelques secondes.

L'algorithme du z-buffer (tampon de profondeur)

Un autre procédé consiste à imaginer qu'en chaque point de l'écran (pixel) on trace une droite perpendiculaire à celui-ci et dirigée vers l'observateur. Chaque droite rencontre une ou plusieurs facettes avant d'atteindre le plan où se trouve l'observateur. On calcule alors la distance entre chaque point d'intersection avec une facette et l'écran, et on ne conserve que le point le plus proche de l'observateur. En connaissant la facette à laquelle appartient ce point, on peut en déduire la couleur qui doit être affectée à chaque pixel de l'écran. L'image complète est obtenue après avoir étudié toutes les droites issues de tous les pixels. Cet algorithme est connu sous le nom de calcul du Z maximal, ou encore algorithme du z-buffer.

Dans sa nouvelle version, VideoScape 3D utilise cet algorithme pour obtenir des images plus fines et dans lesquelles les facettes n'ont plus de problème de superposition. La vitesse de calcul est moins élevée qu'avec l'algorithme du peintre mais elle reste plus élevée qu'avec la technique du ray-tracing que nous allons décrire plus loin. L'algorithme du z-buffer est le plus utilisé actuellement dans les stations graphiques à vocation professionnelle.

L'illusion de la réalité

L'Amiga est le seul ordinateur dans sa gamme de prix pouvant afficher assez de couleurs (4096) pour représenter de manière suffisamment réaliste une scène 3D. Le premier pas vers l'illusion de réalité est franchi lorsqu'on tient compte de l'éclairage ambiant, car la couleur de chaque facette dépend de sa position et de son inclinaison par rapport à une ou plusieurs sources lumineuses. Ce mode de calcul permet également de tenir compte de la nature de la surface des objets, puisque la lumière n'est pas réfléchie de la même manière par un bloc de marbre ou par de l'aluminium poli.

L'approximation la plus grossière consiste à calculer une seule luminosité par facette, tous les points de celle-ci sont alors éclairés de la même manière et représentés par la même couleur. Dans sa première version, VideoScape 3D traitait les objets de cette manière, ce qui leur donnait un aspect anguleux, loin de la réalité, où le passage de la lumière à l'ombre se fait de manière continue.

Pour améliorer le modèle on affecte une luminosité différente à chaque point d'une même facette. Les temps de calcul sont bien entendu beaucoup plus longs, mais l'image obtenue est plus correcte, les facettes offrant alors des dégradés de couleur qui permettent de mieux apprécier les zones d'ombre et de lumière.

D'autres facteurs interviennent dans le calcul de la couleur qu'il faut affecter à chaque point d'une facette. Pour la transparence par exemple, il faut prendre en compte les indices de réfraction des matériaux et leur degré d'opacité.

Pour obtenir une image très réaliste on peut encore ajouter le traitement des réflexions de lumière (qui interfèrent avec le rayonnement des sources principales d'illumination), ainsi que le calcul des ombres portées (qui viennent recouvrir une partie d'un objet). Les algorithmes de base qui prennent en compte tous ces facteurs utilisent en général la technique dite du lancer de rayons ou "ray-tracing".

Le ray-tracing

Au lieu d'étudier mathématiquement l'impact de chaque rayon lumineux sur tous les objets d'une scène, il suffit de ne tenir compte que des rayons lumineux qui vont atteindre l'oeil de l'observateur. L'idée de base de cet algorithme consiste à calculer le chemin inverse suivi par un rayon lumineux qui partirai de l'oeil de l'observateur pour aller vers un point de l'écran.

Ce rayon rencontre une ou plusieurs surfaces sur son chemin. Suivant les propriétés de ces surfaces, il est arrêté (surface opaque) ou dévié et affaibli (surface transparente). Il peut être réfléchi dans une seule direction ou dans plusieurs (lumière diffuse). Ainsi, à partir d'un seul rayon de départ (appelé rayon primaire), on peut engendrer plusieurs rayons secondaires qui viendront participer au calcul de la luminosité à affecter à un point de l'écran.

L'image complète est obtenue en traitant tous les rayons primaires passant par tous les pixels de l'écran, ainsi que tous les rayons secondaires qui en sont issus et qui sont dirigés vers chaque source lumineuse. Ces algorithmes sont les plus gourmands en temps de calcul (qui dépend du nombre de pixels de l'image). Pour chaque pixel de l'écran il faut tracer au moins un rayon principal ainsi qu'un rayon supplémentaire pour chaque source de lumière, ce qui totalise 128 000 rayons pour une simple image avec une seule source de lumière et en basse résolution (320x200 pixels).

Sculpt 4D et DBW-Render utilisent le ray-tracing pour générer des images d'un réalisme impressionnant avec les 4096 couleurs du mode HAM de l'Amiga. Bien sûr, le temps de calcul d'une image comportant plusieurs objets peut être de plusieurs heures, voire de plusieurs jours ! C'est pourquoi ces programmes permettent d'effectuer des tests sur des images de petit format avant d'attaquer la haute résolution. Sculpt 4D offre également d'autres types de représentation, comme le z-buffer ou le fil de fer (une version spéciale du programme peut travailler avec un circuit d'extension comprenant un processeur plus rapide et un coprocesseur mathématique pouvant réduire de 10 à 100 fois les temps de calcul).

Un dernier élément permettant d'approcher encore plus le réalisme est l'utilisation de textures : il s'agit d'un motif de pixels destiné à remplir une surface donnée et conçu pour suggérer visuellement la nature de cette surface (bois, métal, tissus, etc.). L'image finale est obtenue en juxtaposant ces motifs élémentaires de manière à recouvrir entièrement les objets de la scène. DBW-Render offre le choix entre une infinité de textures car il peut utiliser tous les motifs dessinés ou numérisés (au format IFF).

Sculpteur et peintre

Il n'y a pas si longtemps, nous ne pouvions que rêver devant les images de synthèse que nous voyions quotidiennement à la télévision et au cinéma. Maintenant, en nous armant d'un peu de courage, de beaucoup de patience et d'un Amiga, nous pouvons tous réaliser notre propre dessin animé sur ordinateur à partir d'un univers totalement imaginaire.

Annexe : la guerre des rayons

VideoScape 3D, DBW-Render et Sculpt 3D/4D sont parmi les meilleurs programmes graphiques jamais conçus pour un micro-ordinateur ; ils mettent à notre portée les techniques de création d'images de synthèse utilisées habituellement par des infographistes professionnels, pour la création de génériques de télévision ou d'images publicitaires de choc.

Les images les plus réalistes sont créées par Sculpt 4D et DBW-Render grâce à la méthode du ray-tracing mais elles demandent des temps de calcul parfois prohibitifs. Par contre, VideoScape 3D permet d'obtenir des images plus simplistes mais dans des temps plus raisonnables.

Chaque programme offre une interface différente avec l'utilisateur. Sculpt 4D possède un éditeur graphique très puissant et facile à manipuler avec la souris, tandis que DBW-Render est un langage graphique compilé qui n'accepte que des commandes tapées au clavier. VideoScape se situe entre les deux en proposant une série de modules pour la construction et la présentation des objets. Ces modules produisent toujours des fichiers texte pour la description et l'animation des objets (fichiers qui peuvent être introduits directement au clavier).

Les programmes diffèrent également par la méthode de calcul utilisée pour la représentation mathématique des objets. Ils doivent tenir compte des couleurs, de l'éclairage ambiant et de beaucoup d'autres facteurs pour aboutir à une représentation réaliste des objets tels qu'ils nous apparaissent dans l'espace.


[Retour en haut] / [Retour aux articles]