|
||||||||||||||||||||||||||||||||||||||||||||||
|
Pour tous les mordus de lancer de rayons qui n'ont pas les moyens d'investir dans des programmes existant dans le commerce comme Real 3D, Sculpt-Animate 4D ou bien Imagine, le domaine public peut constituer une solution de remplacement à bien moindre coût. En effet, parmi les programmes qui peuplent les collections Fish, CAM et autres, on peut trouver DKBTrace, un raytracer qui n'a pas à rougir devant ses grands frères, du moins si l'on considère ses capacités de rendu. Contenu Sur la disquette d'origine, on trouve en vrac les programmes suivants :
Tout comme l'ancêtre de la 3D sur Amiga, DBW-Render, DKBTrace ne possède pas de modeleur, du moins pas pour l'instant. En fait, il fonctionne par fichiers sources ou scripts, c'est-à-dire à peu près comme un compilateur. La différence, c'est qu'au lieu d'obtenir un programme exécutable, on obtient un fichier contenant une image IFF. Oui, je sais, la convivialité en prend un coup, mais n'oubliez pas que c'est du DP.
...placée dans le script, cette ligne produira une sphère aux coordonnées (0,25,0) et de rayon 10 unités. Les primitives et les outils La modélisation d'une scène se fait essentiellement à l'aide de primitives. DKBTrace met à notre disposition des plans, des sphères, des triangles et des quadriques pour alimenter nos créations. Les plans et les sphères sont de loin les plus utilisés, et les triangles servent à assurer la compatibilité avec Sculpt 4D, qui travaille exclusivement avec des triangles. Quant aux quadriques, ce sont des formes particulières dont dérivent les paraboloïdes, hyperboloïdes, sphères, ellipses et autres coniques. En effet, elles sont générées par l'équation (pour les matheux) : Ax + By + Cz + Dxy + Exz + Fyz + Gx + Hy + Iz + J = 0 Dans DKBTrace, on les définit à l'aide des coefficients A. B, C, D. E, F, G, H, I et J. Par exemple, pour une sphère de rayon 5 unités, on aura A=B=C=1 et J=-5. Ne partez pas ! En fait, les quadriques représentent une mine de formes bizarroïdes pour celui qui a besoin de produire des effets de rendu originaux, mais on peut s'en passer, car avec le programme sont données des déclarations de quadriques toutes prêtes dans le fichier BasicShapes.data. Les outils de modelage dont on dispose avec DKB ont des effets multiples :
Couleurs, éclairage et textures Et les couleurs, dans tout ça, me direz-vous ? Là encore, DKBTrace n'a pas à rougir devant ses aînés. La couleur d'un objet se définit par le mot-clé "Colour" (ou "Color", les deux sont acceptés) suivi de quatre valeurs :
Il y a ici les trois composantes de la couleur, plus le facteur de transparence (Alpha) qui, s'il est mis à 1, rend l'objet complètement transparent. L'éclairage est aisé à mettre en place dans la mesure où il suffit de placer le mot "Light-Source" dans la définition de l'objet pour le transformer, quelle que soit sa forme, en source de lumière. Quant aux textures, elles ne sont pas délaissées pour autant, bien au contraire, puisqu'à mon avis c'est le point fort de DKBTrace. Les textures disponibles sont les échiquiers ("Checker"), les bois ("Wood"), les nuages ("Bozo"), l'incontournable marbre ("Marble"), le granit ("Granite"), l'agathe ("Agate"), les taches ("Spotted"), les dégradés ("Gradient") et les placages ("Imagemap"). Elles se définissent comme des objets : on peut donc changer la taille des motifs avec "Scale", mais aussi les translater, les pivoter, changer les couleurs et les turbulences, par exemple pour le marbre. Ces textures de coloration des surfaces peuvent être utilisées en combinaison avec les autres textures existantes, c'est-à-dire les textures de perturbation des surfaces. Les voici : "Ripples" donne un effet "de ronds dans l'eau" à la surface, "Waves" provoque l'apparition de vagues, "Phase" permet de décaler ces vagues (utile pour les animations où l'on veut de l'eau en mouvement), "Bumps" cabosse l'objet par endroits, "Dents" fait apparaître des "piquants" sur l'objet et "Wrinkled" donne une apparence de cellophane froissé à la surface. Y a de la matière ! Les autres réglages Le réglage de l'observateur se fait suivant le même genre de programmation : on règle le point de vue ("View_Point") à l'aide des commandes "Location" (lieu de l'observateur), "Direction" (direction de la vue, avec plus ou moins de zoom), "Up" (donne une orientation à l'image), etc. Ici encore, l'observateur peut être pivoté ou translaté. Un effet reste à décrire : DKBTrace inclut la possibilité de produire un brouillard de la couleur de votre choix dans votre scène, avec la commande "Fog". Ensuite, ce raytracer possède des facilités de programmation, possibilité d'appeler des includes, de donner des noms à des objets, des couleurs ou des textures pour les rappeler ensuite. Ainsi, avec le programme, est livré un include appelé BasicShapes.data qui contient les définitions de nombreux objets utiles (comme des cylindres ou des cônes, générés à partir de quadriques) et les couleurs de base. On peut donc, grâce à cette notion d'includes, se former une bibliothèque d'objets réutilisables à volonté. De plus, le mot "Inverse" placé dans la définition d'un objet le fera apparaître en "négatif' : pour faire une salle sphérique, il suffira de déclarer une sphère inversée. "Inverse" remplit en fait tout l'espace et y enlève l'objet déclaré. Enfin, il est possible de placer des commentaires entre accolades {} à n'importe quel endroit du script. Le rendu Il est impeccable ! Je dois avouer que les textures m'ont agréablement surpris et pour peu qu'on en ait l'habitude, on arrive à faire de bien belles images, qu'on aimerait voir plus souvent... Cela dit, DKBTrace n'est pas un modèle de rapidité (sauf par rapport à DBW-Render), à cause de son anticrénelage assez lent. Mais sans l'anticrénelage, la vitesse de calcul est acceptable. L'avantage, c'est qu'il travaille en 24 bits (16 millions de couleurs) et quand les calculs sont terminés, le programme donne un fichier ".dis" qu'il faut convertir en image IFF à l'aide de DumpToIFF. Les utilitaires Dump2RGB et Dump2Raw servent à produire les trois fichiers 8 bits Rouge, Vert et Bleu pour composer l'image en 16 millions de couleurs. Au rendu, DKBTrace possède toute une palette d'options :
Le reste Le programme Sculpt2DKB convertit un fichier scène de Sculpt 4D en un objet de type "composite" : restent à placer soi-même l'observateur et les sources de lumière. Cela dit, on risque avec ce procédé de se retrouver avec des triangles en quantité industrielle à traiter et donc avec un rendu de trois semaines (surtout si on a mis l'anticrénelage). Donc, pour faire une sphère, autant la faire avec une primitive plutôt que de se raccrocher désespérément au modeleur de Sculpt 4D. Donc, à n'utiliser qu'en cas de nécessité absolue. Quant à la doc, elle n'est pas très longue mais elle est assez claire (bien qu'elle soit en anglais). Cela dit, on apprend aussi beaucoup dans l'utilisation des diverses commandes avec l'énorme quantité d'exemples de scripts se trouvant dans le répertoire "Data". Et en apprenant ainsi sur le tas, on arrive après quelques efforts à faire des images intéressantes. Conclusion J'ai aimé :
|