Le Raytracing sur Atari : utilisation de POV et d'EB-Model.
-----------------------------------------------------------
Auteur : Falcon Lolo

Bonjour les petits amis, aujord'hui, nous allons voir d'un peu plus près comment réaliser de superbes images de synthèse à en faire pâlir de rage une Silicon Graphics !!!

Cet article portera sur le logiciel Persistence Of Vision et le modeleur d'Emmanuel Baranger : EB Model. Ces deux logiciels sont très complémentaires : EB-Model nous servira à réaliser la scène et le rendu sera réalisé par POV.

Pourquoi utiliser POV ? Tout d'abord c'est un standart, il existe sur Atari, Amiga, Macintosh, stations Unix mais aussi sur PC. Les fichiers de données (les textures, couleurs, objets... ont l'extension INC, les fichiers décrivant la scène, les scripts pour être plus exact ont l'extension POV) sont compatibles quelque soit la machine utilisée : ainsi, un script tapé sur un bi Pentium Pro à 200 Mhz pourra être calculée sur Atari 1040, mais ceci n'est qu'un exemple.

POV a été écrit en C, il est donc très portable, et peut être adapté sur tout type de machine possédant un langage C. Les ancêtres de POV que certains d'entre vous ont dû connaîtrent se nomment Quick Raytrace, ensuite apparut DKB Trace qui était plus puissant que Quick Raytrace puis, vint POV 1.0 puis POV 2.0 avant que n'arrive... devinez un peu ? oui vous avez gagné ! il s'agit de POV 3.0

Halleluia, il est là ! Qui ça ? POV 3.0 devrait être bientôt disponible en version spécifique pour nos machines. Voyons un peu les nouveautés : la gestion de la radiosité, c'est à dire des images encore plus réalistes mais avec en contrepartie (on n'a rien sans rien...) des temps de calculs dramatiquements rallongés : cela pourrait aller au-delà du facteur 20 ! c'est à dire qu'une scène vous ayant demandé 1 heure de calcul vous demandera 20 heures pour la même scène avec l'option de la radiosité en plus ! (Pour les connaisseurs de POV l'option de qualité d'image va désormais jusqu'a 12 et non plus 9 comme auparavant). Autres nouveautés en vrac : une gestion de la lumière plus puissante (avec la possibilité de création de halo lumineux, de lumières de type néon...), un brouillard encore plus réaliste, des possibilité de création d'animations très facilités et avec la gestion du format d'animation Fli ou Flc le même format mais compressé, la possibilité de créer des logos avec l'utilisation de fontes True Type disponibles un peu partout assez facilement, l'apparition des metaballs mais qui cela va plus loin que les metaballs, puisque les objets constitutifs de la metaball ne sont pas obligatoirement des sphères mais peuvent être au choix des sphères, boîtes... et on peut même appliquer une texture differente à chaque objet constituant la metaball. On peut créer des arcs en ciels, des vagues plus réalistes... et aussi une gestion plus puissante de la caméra... Bref on peut parler de révolution dans l'univers de POV. Merci à Emmanuel Baranger pour ces informations. Rendez-vous pour un test plus appronfondi peut-être dans un prochain numéro qui sait ?

Toutefois, il vous faut savoir que l'exécutable fera probablement 600 Ko voire plus (il faut compter trois fois plus pour le PC !), sachant que les sources font près de 10 Mo et que la documentation doit faire aux environs de 800 Ko ! De la saine lecture en perspective...

Le raytracing ou plus généralement l'image de synthèse demande des temps de calculs assez importants. Au point où tous les professionels de l'image de synthèse utilisent des stations de travail dotés de processeurs surpuissants : Silicon Graphics, Sun, Digital, IBM, Hewlett Packard... Chaque année le festival Imagina de Monte Carlo attribue des prix aux meilleures réalisations et ce à travers le monde. Et comme par hasard, y est consacré la station de travail, en général des Silicon Graphics, il reste peu de place pour nos machines... mais, pas de panique, ce n'est la puissance de la machine qui fait l'artiste, donc, vous pouvez garder votre vieux ST. J'ai démarré le raytracing sur 1040 STe ! alors pas de panique à bord ! Néanmoins, la configuration conseillée sera 4 Mo de mémoire un processeur assez rapide, bref pour de bonnes conditions de travail, les Falcon et les TT seront privilégiés. Deux choses matérielles sont importantes au niveau du raytracing : la puissance du processeur et la quantitée de mémoire disponible. Pour vos calculs en raytracing il vaudra mieux démarrer dans la plus petite résolution possible (sur mon Falcon, je réalise mes calculs en 640x240 et 2 couleurs avec la touche Control utilisée au démarrage, je dispose ainsi du maximum de mémoire.

Voici quelques statistiques pour vous montrer que notre Falcon est quand même très puissant :

La scène calculée est basicvue.pov, c'est une scène très simple : une boule orange sur un sol bleu, mais elle a l'avantage de servir de benchmark pour les auteurs et les utilisateurs de POV...

Statistiques pour une version de POV 2.0 compilée pour OS/2 avec GCC 2.3.3 (optimisée) et pour le ST avec une version de GCC 2.4.4 (optimisé) le tout sous MiNT.

PC 386/33 8M RAM, OS/2 2.1 - 1 heure 40 minutes, 20 secondes.
PC 486/33 28M RAM, OS/2 2.1 - 0 " 0 " 33 secondes.
PC 486 DX2 66 16 Mo RAM - 0 " 0 " 20 secondes.
Atari ST, 4M RAM, MiNT 1.08 - 1 " 45 " 36 secondes.
les options utilisées : image de 320 par 200 en qualité 9 (la meilleure), avec un antialiasing de 0.3
Ceci montre qu'un ST à 8 Mhz est aussi rapide qu'un PC 386 à 33 Mhz !!!!

PS : ces statistiques proviennent d'un fichier distribué avec une version de POV 2.0 compilée avec le langage GCC...

Voici mes statistiques, les calculs ont été réalisés à la fois sur un 1040 STE et sur un Falcon 030.
Le 1040 STe est un STe normal : 68000 8 Mhz, 1 Mo de RAM; le calcul a été lancé en moyenne résolution.
Le Falcon 030 : 68030 cadencé à 16 Mhz, j'ai un 68882 à 32 Mhz, 4 Mo de RAM, le calcul est lancé en 640x240 2 couleurs.

Les options utilisés : un buffer de 24 Ko, j'ai utilisé FTPov 2.2 un logiciel qui permet de calculer plus rapidement que POV grâce à diverses options supplémentaires. J'ai utilisé à chaque fois fois les mêmes options pour les buffers, j'ai utilisé la méthode de calcul um1 mais, j'ai réalisé les calculs pour les version 68030, 68030 et 68882, et 68000 avec ou sans anti-aliasing (option a).

Falcon030, FTPov version 68030 avec a0.3 29 minutes 2 secondes
Falcon030, FTPov version 68030 sans a 22 minutes 32 secondes

Falcon030, FTPov version 030+68882 avec a0.3 5 minutes 50 secondes
Falcon030, FTPov version 030+68882 sans a 4 minutes 36 secondes
" méthode um2 6 minutes 14 secondes
" méthode um3 6 minutes 40 secondes

1040 STe, FTPov version 68000 avec a0.3 50 minutes 5 secondes
1040 STe, FTPov version 68000 sans a0.3 41 minutes 34 secondes

On peut remarquer que les version utilisant le 68030 et le 68882 permettent de calculer 6 fois plus rapidement que la seule version 68030 ! Alors que le 68030 du Falcon n'est que deux fois plus rapide en moyenne qu'un STe de base. Par contre le couple 68030 et 68882 se révéle 10 fois plus rapide que le STe !!! Conclusion, si vous avez un Falcon et que vous voulez faire du raytracing, achetez un coprocesseur, vous ne le regrettez pas, d'autre part beaucoup de logiciels utilisent le 68882 et ce, dans beaucoup d'autres domaines que celui du seul raytracing. Si vous avez d'autres machines que celles testées un peu plus haut, vous pourriez tester la scène basicvue.pov avec les options ci-dessus et vous seriez bien gentils de m'envoyer les résultats obtenus ! j'aimerais conaître les résultats avec des Falcon dotés de cartes accélératrices : DX-3, Centurbo, Afterburner... ou sur TT, Mega ST, PC (les intel pentium, cyrix...) les Mac... bref vous avez le choix.

Après ces quelques statistiques, entrons dans le vif du sujet. EB-Model est un modeleur pour POV, mais il est beaucoup plus que cela... Tout d'abord , c'est un logiciel très ouvert. Voyons du côté des formats d'importation et d'exportation des fichiers, actuellement il y a 12 formats d'import et 9 d'export :
Les formats d'import tout d'abord :

*.3DS 3D STUDIO (PC)
*.GEO Format PC nommé OFF
*._3D Format utilisé par une démo PC.
*.POV il n'est pas totalement fini...un peu de patience. Il est important de noter que pour les versions les plus récentes ce format remplace maintenant le module d'importation des arbres créés par ARBRES (le programme de Philippe LAFARGUE qui sert à créer des plantes ou tout autre type d'objets à base de calcul fractal).
*.LW? LIGHTWAVE (Amiga/PC) un des logiciels le plus connu et le plus renommé dans le milieu professionnel (il sert aux effets spéciaux de séries comme Star Trek Next Generation, BLADE RUNNER, Sea Quest etc...).
*.3D2 CYBER (-SCULPT, STUDIO...).
*.RAW Format brut (?) assez courant chez les PC.
*.TXT Fichier ASCII contenant des coordonnées.
*.OBJ IMAGINE (PC/AMIGA).
*.DXF AUTOCAD / ZZ VOLUME (PC/ATARI).
*.BDY NEON 3D.
EBSPLIN : Un module spécial fourni en beta version.

Les formats d'export sont les suivants :
*.3DS format pour 3D Studio ou les logiciels capables de lire ce format.
*.POV scripts P.O.V. 2
*.DXF
*.DAT scripts CLOE
*.CDF fichiers pour le modeleur de CLOE
*.3D2 fichiers pour les logiciels de la gamme Cyber.
*.TXT
*.ASM format spécial pour les coders.
*.GEM GEM Metafiles (fichiers 2D vectoriels).

Il ne faut pas oublier le format EBS propre au logiciel.

Un autre qualificatif qui s'applique parfaitement à EB Model est celui de puissance. Les versions récentes d'EB Model incluent des routines en pur assembleur (68000, 68030 et 68882) ce qui accélére très sensiblement l'affichage des objets en mode 2D ainsi que les vues 3D. A tel point qu'une fois que l'on y a goûté, on ne peut plus s'en passer. Le dessin des objets est très rapide même en qualité d'affichage optimal ! A tel point que l'on a plus l'impression d'utiliser une Silicon Graphics qu'un Atari Falcon ! Ceci prouvant que les programmeurs Atari peuvent réaliser des choses extraordinaires ! Il faut quand même dire que nos machines sont à la base extraordinaires elles aussi. Encore un exemple de la supériorité de nos machines ! Sur PC, il aurait fallu acheter un processeur plus puissant plutôt que chercher à améliorer le code... Un autre exemple de la puissance d'EB Model, le zoom fenêtre. Késako ? Tout simplement un zoom, qui à l'usage s'avère très utile voire indispensable. Il suffit d'appuyer sur la touche z et avec la souris, vous cliquez une fois avec le bouton gauche, et vous sélectionnez la zone que vous voulez voir agrandie, vous relachez et hop le miracle s'accomplit sous vos yeux !

Les objets de "base" disponible dans EB Model sont les suivants : segment, boîte, sphère, prisme, triangle, cône, tronc de cône, tubes, hémisphère, boîte aux bords arrondis, disque, pyramide, colonnes, plans, tores, blobs, montagnes fractales, carreaux de bézier. Pas mal non ? Peu de logiciels en font autant ! EB Model permet également la CSG (Constructive Solid Geometry), ce que nombre de logiciels PC ne font pas obligatoirement !

La création d'un objet se fera de la manière suivante : * Tout d'abord, il vous faudra sélectionner l'objet que vous voulez créer: prenons l'exemple une sphère, immédiatement deux possibilités s'offrent à vous : un clic gauche et l'objet sera placé de façon automatique au centre de l'univers qui est de façon générale x,y,z =0 ou <0,0,0> avec la taille définit dans la boîte de paramétrages (la taille de base de l'objet ainsi que le centre de l'univers sont modifiables à volonté). Un clic vous fait apparaître la boîte de modification d'un objet (accessible par la touche F3 du clavier) ici, c'est à vous de jouer : vous pouvez définir l'endroit ou sera placé votre objet, c'est à dire ses coordonnées en x,y,z sa taille en x,y,z avec la valeur x concernant la largeur, y la hauteur et z la profondeur. Vous pouvez définir également une rotation sur les x,y,z pour l'objet.
L'objet est créé, il est disposé dans notre univers, il nous faut maintenant lui donner une texture. Pour cela appuyez sur F4. Vous pouvez donner à votre objet une texture pré-définie : marbre blanc, bois, ciel nuageux..., ou en créer une de toute pièce en utilisant les différentes possibilités qui s'offrent à vous pour cela : utiliser le sous menu pigment qui concerne l'aspect couleur de votre texture, utiliser le sous menu normal qui concerne toutes les modifications concernant la surface de votre objet, et enfin le sous menu finish qui concerne la manière dont l'objet va "gérer" la lumière et certains phénomènes lumineux.
Vous pouvez modifier ou créer facilement de nouvelles textures, couleurs...
Autre avantage de taille concernant EB Model : il est possible d'utiliser des modules externes pour accomplir une tâche particulière. Prenons l'exemple du module vue triple. Celui-ci nous permet d'avoir les vues de face, gauche, dessus et ce, de façon simultanée. Il est même possible de modifier le zoom ! Il est à noter, pour nos amis programmeurs, que ces modules peuvent être programmés dans n'importe quel langage, alors si vous avez des idées de modules contactez Emmanuel Baranger pour de plus amples renseignements.
En guise de conclusion, le tandem EB Model-POV est certainement ce qu'il se fait de plus puissant en matière de raytracing et en diffusion shareware dans l'univers Atari, excusez du peu ! Il ne fait aucun doute qu'EB Model est le modeleur le plus puissant existant à l'heure actuelle pour POV et ce, toutes machines confondues. J'ai pu tester les autres modeleurs pour POV notamment ceux tournant sous DOS, et je vous assure qu'il n'y a pas photo à l'arrivée : la difference se fait au premier abord ! L'ergonomie des logiciels DOS est déplorable, on voit la supériorité de l'interface Gem, des menus, des icônes. Non, non, ce n'est pas du cirage de pompe, mais je suis tombé amoureux de ce logiciel, je n'y peux rien ! Le seul coupable est Emmanuel Baranger ! Le meilleur conseil que l'on puisse donner à un possesseur de PC utilisant des modeleurs comme Moray ou Mid Night Modeler est d'acheter un Falcon ou un TT et de s'enregistrer à EB Model.

D'ailleurs, pour nos amis Ataristes, il faut noter qu'il y a des occasions à ne pas manquer en ce moment : ainsi vous pouvez obtenir un TT avec 8 Mo de Ram (4 Mo de ST Ram et 4 Mo de TT Ram) avec disque dur, mais surtout le 68030 et le 68882 est ici cadencé à 32 Mhz, bref vous pouvez obtenir une station de travail Atari pour la somme de... devinez un peu ? 2500 francs, oui vous avez bien lu : deux mille cinq cent francs ! C'est une occasion d'enfer. A tel point que plusieurs utilisateurs enregistrés d'EB Model ont acheté comme cela, d'occasion, un TT ! Il est vrai qu'au prix de 2500 francs il n'y a pas à tergiverser ! Un Falcon 4 Mo avec disque dur se trouve en occasion à 3500 francs !

Toutefois, il est nécessaire de bien connaître POV pour utiliser de façon optimale les options d'EB Model (imaginez le désarroi d'un néophyte en ce qui concerne la signification de certaines options dans la fenêtre relative aux textures...), toutefois, on peut l'utiliser comme n'importe quel autre logiciel de synthèse sauf qu'il faudra lire et connaître la documentation de POV pour savoir à quoi correspond telle ou telle option. De toute façon une documentation est faîte pour être lue, tôt ou tard il vous faudra y passer !

Donc, si vous voulez vous lancer dans le raytracing de qualité, mais que vous avez peu de moyens, optez pour le tandem POV-EB Model, vous ne regretterez pas ce choix ! De plus, le fait de vous enregistrer vous sera plus que bénéfique, car EB Model est devenu très stable, et sa puissance se vérifie version après version. A tel point que l'on se demande si Emmanuel Baranger ne travaille pas 24 heures sur 24 sur son modeleur ! J'ai reçu la version 2.88c datant du 24 juillet 1996 et une 2.88d est déjà réalisée avec des améliorations portant sur la saisie multiple des objets et la CSG mais aussi des améliorations concernant la vitesse d'affichage... Si vous êtes un heureux possesseur de Falcon et que vous vous intéressez au raytracing, vous serez content d'apprendre que des routines DSP, oui j'ai bien dit DSP, devraient être disponibles prochainement pour EB Model !!!

EB Model est un shareware, il ne coûte que 150 francs alors enregistrez vous nombreux à l'adresse suivante :

Emmanuel Baranger
12 rue de la Tuilerie
86220 Dangé Saint Romain

POV 2 est un freeware. Pour contacter les auteurs, la "POV Team" réferrez vous à la documentation de POV.

Vous pouvez me contacter :

Mr Pouillez Laurent
31 rue Sadi-Carnot
62290 Noeux-les-Mines

Retour au sommaire des articles