Obligement - L'Amiga au maximum

Vendredi 29 mars 2024 - 14:00  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Test de DKBTrace 2.0
(Article écrit par David Coronat et extrait d'Amiga News - novembre 1991)


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 :
  • traceffp : le raytracer proprement dit.
  • trace881 : une version du raytracer pour les machines équipées d'une carte accélératrice avec coprocesseur arithmétique.
  • Sculpt2DKB : un utilitaire de conversion des fichiers Sculpt en fichiers compatibles DKBTrace.
  • Dump2Raw, Dump2RGB, DumpToIFF : utilitaires de traitement de l'image après rendu (voir plus loin).
Et les répertoires :
  • Un répertoire "Docs : comme son nom l'indique, il contient les différentes documentations dont a besoin l'utilisateur (en anglais, succinctes mais claires). Une fois imprimée, la doc occupe un peu plus d'une vingtaine de pages.
  • Un répertoire "Data" : la caverne d'Ali-Baba ! Contient tout une série d'exemples et d'images pour utiliser à fond DKBTrace.
  • Les sources : l'auteur donne aussi les listings du programme (à compiler avec Lattice C 5.05) pour les programmeurs curieux.
La 3D par scripts

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.

DKBTrace

Je disais donc, DKB fonctionne par scripts. Un script est tout simplement un fichier texte qui contient toutes les informations concernant la scène que vous voulez générer. Par exemple, la ligne suivante :

Sphere <0.0 25.0 0.0> 10.0 End_Sphere

...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 :
  • "Scale" permet de changer la taille de l'objet (sur un, deux ou les trois axes).
  • "Intersection" permet de générer un objet à partir de l'intersection de deux ou plusieurs objets.
  • "Union" fait fusionner deux objets.
  • "Difference" part d'un objet auquel on enlève d'autres objets (pratique pour faire du gruyère).
Ces trois dernières fonctions peuvent être ramenées à des opérations booléennes (respectivement "And", "Or" et "And Not"), comme sait le faire Real 3D. Et enfin, "Composite" qui s'utilise comme "Union" mais pour des objets complexes, alors que "Union", "Difference" et "Intersection" ne s'appliquent qu'aux primitives.

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 :

Colour Red 1.0 Green 0.3 Blue 0.9 Alpha 0.5

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.

DKBTrace

Ensuite, on dispose pour chaque objet de commandes qui permettront de définir son comportement à la lumière : "Ambient" et "Diffuse" donnent les types de lumière que l'objet renverra ("Ambient" est une lumière propre à l'objet, visible sans éclairage et "Diffuse" est la lumière provenant de l'extérieur qui est réfléchie). Les autres commandes, "Brillance", "Reflection", "Refraction", "IOR" (Index Of Refraction), "Phong". "Phongsize", "Specular" et "Roughness" servent à donner à l'objet un aspect brillant, rugueux, poli, patiné, etc. suivant les besoins.

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 :
  • Dimensions de l'image réglables au pixel près (utile pour les essais de rendu en format timbre-poste).
  • Possibilité d'afficher à l'écran le numéro de la ligne en cours de calcul.
  • Affichage ou non de l'image pendant le rendu.
  • Anticrénelage réglable (sorte de lissage des couleurs) : joli, mais ralentit considérablement le rendu.
  • Possibilité de régler la taille du tampon mémoire de sauvegarde de l'image : pratique, pour éviter de faire tourner le lecteur de disquette à chaque ligne...
  • Qualité de rendu réglable : permet de gagner du temps. La qualité 1 est comparable au "Painting" de Sculpt. La qualité 9 est le maximum.
  • Possibilité de sauvegarde de tous ces paramètres (dans un fichier du nom de "trace.def").
A noter la possibilité de mettre dans les déclarations d'objets compliqués la commande "Bounded_By" suivie d'une primitive simple (comme la sphère) qui englobe l'objet en question pour accélérer le rendu : le raytracer ne fait attention à l'objet que s'il se trouve à l'intérieur de la sphère. D'où gain de temps.

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é :
  • Le prix domaine public (15 FF).
  • Les textures (nombreuses, riches et marrantes).
  • Les quadriques (de quoi faire des objets débiles).
  • Le rendu de bonne qualité.
  • La possibilité de bien s'en servir même avec seulement 512 ko de mémoire.
J'ai regretté :
  • La lenteur du rendu avec anticrénelage (mais pour le prix...).
  • L'absence de modeleur et donc le manque de convivialité.
Je conseille donc ce logiciel à ceux qui veulent faire de la 3D pour s'amuser sans se ruiner, avec une réserve : il faut avoir quand même la pratique du CLI ou Shell pour installer DKBTrace et donc pouvoir s'en servir efficacement.

Nom : DKBTrace 2.0.
Auteur : David Buck.
Genre : logiciel de lancer de rayons.
Date : 1990.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : partagiciel.
Prix : 15 FF.
Téléchargement : Fish 397.


[Retour en haut] / [Retour aux articles]