Sommaire Index Rechercher Liens A Propos
[LinuxFocus Image]
[Barre de Navigation]
  Nouveaut�s   Archives

Inititation � Povray

par Antonio Castro


Introduction

Quelques caract�ristiques de Povray

Obtenir Povray

Installation

Configuration

POV

Dans cet article, on d�bute une s�rie sur le traceur de rayons Povray. Le but de ce premier article est de faciliter son utilisation aux d�butants Linux.

Persistence of Vision Ray-Tracer (POV-Ray) Copyright 1996 POV-Team.


Introduction.

Povray (Persistence of Vision Raytracer) est un traceur de rayons basique. Il n'est pas facile d'expliquer ce que signifie ce concept sans entrer dans certains d�tails, mais nous expliquerons par la suite de mani�re d�taill�e ce qu'est un traceur de rayons (dans les prochains articles). Ici, nous nous contenterons de faire l'�bauche du concept de traceur de rayons. Le trac� de rayons est une technique pour repr�senter des sc�nes imaginaires d�finies dans l'ordinateur au moyen de mod�les, qui �tablissent des objets et des formes, ainsi que des angles de lumi�re et une cam�ra. La forme dont l'ordinateur essaye d'obtenir une image la plus r�aliste possible consiste toujours en la meilleure image avec les moindres co�ts en processus de calcul.

Lorsque c'est possible, on essaye d'imiter la nature, sinon on cherche seulement un effet ressemblant. Sans ces raccourcis, il serait impossible d'obtenir une image en un temps raisonnable. L'ordinateur devra calculer un grand nombre de trajectoires, mais il ne le fera pas de mani�re identique � ce que fait la nature. Pour celle-ci, les rayons sont issus de la source principale de lumi�re et chaque fois qu'ils rencontrent une surface, ils g�n�rent une source secondaire de lumi�re qui se r�fl�chit dans la r�tine du spectateur ou dans la pellicule d'une cam�ra. On donnera maintenant un unique d�tail, pour anticiper sur la suite. Dans un traceur de rayons, ceux-ci circulent en sens contraire : depuis un point de la r�tine ou de la pellicule vers les objets en premier pour arriver en dernier � la source de lumi�re. Nous laisserons l'explication d�taill�e de ceci, ainsi que d'autres aspects, pour l'article suivant.

La qualit� du traceur de rayons Povray est excellente et n'a rien � envier aux produits commerciaux. Les produits commerciaux de dessin bas�s sur le trac� de rayons sont int�gr�s dans une s�rie d'outils pour dessiner confortablement toutes sortes d'objets.

Dans le cas de Povray, on peut utiliser des outils de mod�lisation en provenance de diverses maisons d'�dition ind�pendantes, ou des traducteurs de format, et en r�gle g�n�rale, une grande vari�t� d'outils. Ce qui ne veut pas dire qu'on ne peut pas obtenir de jolis trac�s, y compris parfois spectaculaires, en utilisant exclusivement Povray. Pour cela, il suffit surtout d'avoir beaucoup d'imagination.

En outre, les sources sont publiques, ce qui permet d'approfondir les techniques utilis�es. Le Copyright de Povray est d�crit dans l'annexe A du manuel, et il s'agit, comme Linux, d'un Freeware. Les d�tails doivent �tre consult�es dans le texte original de la Licence.

Le manuel de Povray est disponible dans la version texte (id�al pour des recherches rapides), en format HTML, et en format postscript. Si vous avez l'intention d'imprimer le document en postscript, il faut pr�parer environ 600 pages. En effet, les possibilit�s de Povray sont �normes, mais il ne faut pas avoir peur. Cet article vous aidera � vous initier � Povray et dans les articles qui suivent, on traitera des concepts basiques.

Ce qui est certain, c'est que Povray nous permet de faire une incursion dans le monde de l'infographie par la grande porte, au vu de ses incroyables capacit�s techniques. Selon ma propre conception de l'infographie, le domaine de la technique nous permet d'obtenir, de mani�re approch�e, des images d'un r�alisme incroyable, mais la valeur d'une image n'a rien � voir avec le r�alisme ni avec la technique. La technique est une aide pr�cieuse, mais ce qui poss�de une vraie valeur artistique doit �tre pr�alablement con�u dans notre t�te. L'id�e est ce qui compte.

Souvent, j'aime � jouer avec les concepts de r�alisme et de fiction. L'infographie se pr�te � ce jeu de mille et une fa�ons diff�rentes, provoquant un conflit stimulant pour le spectateur. Je conserve une petite s�lection d'images cr��es avec Povray dans :

http://slug.ctv.es/~acastro/infograf/catalog.htm

Voici un exemple d'un concept hybride: un avion, un voilier et une mouette

Seagull 1 

Seagull 1

Dans cette premi�re image nous avons de bonnes chances de voir une mouette.

 

Seagull 2 

Seagull 2

Toutefois, vu sous un autre angle, on peut dire qu'elle ressemble plus � un avion alors qu'il s'agit toujours du m�me objet.

L'objet a la silhouette d'une mouette. Dans la partie sup�rieure, elle a un cockpit transparent et les deux pilotes se voit ais�ment. La pigmentation est bizarre mais avec le lanc� de rayons ces images peuvent d�montrer un degr� �tonnant de r�alisme.

Lorsqu'on montre ces images � un enfant de cinq ans, et qu'on lui demande son avis, il dira que c'est une photo et non un dessin. Par contre, un adulte aura plus de mal � les classer. Il dira, certes, qu'il ne s'agit pas d'un dessin, mais qu'il ne s'agit pas non plus d'une photo. Il saura peut-�tre que l'image a �t� obtenu gr�ce � l'ordinateur, mais il se demandera comment celui-ci a pu obtenir un r�sultat aussi �trange et aussi beau.

A mon avis, c'est ce type de r�sultat qu'il est int�ressant d'obtenir dans les dessins. Des images d�concertantes, o� le synth�tique et l'artificiel s'harmonisent avec des effets r�alistes surprenants.

J'ai pass� beaucoup de temps sur Povray et je suis s�r que tout le monde �prouvera du plaisir � l'utiliser.

 

Quelques caract�ristiques �l�mentaires de Povray :

  • rendu partiel d'une image, possibilit� de continuer le rendu complet
  • options pour faire des rendus avec des r�solutions distinctes, et avec des degr�s de perfectionnement pour r�duire le temps du processus.
  • possibilit� de visualiser une image durant sa cr�ation (en SVGA et Xwindows)
  • possibilit� d'aper�u en mosaique.
  • cr�ation de logs (registres) tr�s complets qui permettent d'analyser les co�ts du CPU.
  • analyse syntaxique avec un bon traitement d'erreurs
  • biblioth�que de textures tr�s bien fournie, avec d'�normes possibilit�s pour cr�er pratiquement n'importe quelle texture.
  • effets de surface : rugosit�, brillance, reflets, transparence,...
  • figures g�om�triques simples : sph�res, c�nes, plans, cubes, prismes,..
  • figures g�om�triques bas�es sur des �quations math�matiques complexes,
  • figures form�es par des r�seaux triangulaires,
  • arrondissement des ar�tes, par exemple pour des figures form�es par des triangles,
  • figures complexes form�es par un agr�gat d'autres figures,
  • d�limitation des objets complexes au moyen de figures simples pour optimiser le rendement du traceur,
  • pigmentation d'une figure � partir d'une image plane,
  • figures g�n�r�es proportionnellement � la couleur d'un pixel � partir d'une autre image (tr�s utile pour g�n�rer des terrains),
  • figures g�n�r�es par r�volution (model�e "au tour"),
  • textes tridimensionnels � partir de sources TIFF,
  • effets atmosph�riques, par exemple brouillard, effets lumineux, avec divers types de lumi�res,...
  • options distinctes de "Anti-Aliasing" : ces effets permettent qu'une diagonale apparaisse comme plus lin�aire, camouflant l'effet d'�chelle au moyen d'un l�ger d�grad�. Il existe diff�rentes m�thodes pour cela dans Povray.
  • un langage complet de description de sc�nes,
  • possibilit� de g�n�rer des animations avec diff�rentes m�thodes :
    1. boucle externe (utilisation de l'option Clock=n.n)
    2. boucle interne (utilisation de param�tres internes � la source)
    3. donn�es qui permettent la d�finition de constantes et qui peuvent �tre localis�es dans un fichier include. Il est possible aussi de g�n�rer des animations externes au moyen d'utilitaires ou de scripts qui actualisent ces fichiers � chaque photogramme. Ce syst�me, bien qu'utilis� dans les premi�res versions de Povray, est toujours utile

O� peut-on obtenir Povray :

Povray peut �tre obtenu gr�ce � ftp.
Le site officiel est le suivant :

http://www.povray.org  
ftp://ftp.povray.org  
 

Il existe une revue �lectronique sur Povray : bien que sa parution soit arr�t�e, elle conserve quelques articles excellents qui ont �t� �dit�s � la m�me �poque que la version 3.0 de Povray .

http://www.povray.org/pub/povray/ezine  
 

Il existe de nombreux sites miroirs qui ont un caract�re officiel :


 
 
FTP 
sunsite.wits.ac.za:/pub/mirrors/ftp.povray.org 
gd.tuwien.ac.at:/graphics/raytracing/povray 
ftp.cdrom.com:/pub/povray 
wuarchive.wustl.edu:/graphics/graphics/mirrors/ftp.povray.org 
ftp.shu.ac.uk:/pub/computing/packages/raytrace/ftp.povray.org 
sunsite.doc.ic.ac.uk:/Mirrors/ftp.povray.org 
www.hensa.ac.uk:/ftp/mirrors/povray 
ftp.etsimo.uniovi.es:/pub/raytrace 
ftp.fh-rosenheim.de:/pub/mirror/ftp.povray.org 
ftp.tu-clausthal.de:/pub/mirror/povray 
kermit.stud.fh-heilbronn.de:/mirrors/povray 
ftp.uni-erlangen.de:/pub/other/povray 
stef.u-picardie.fr:/pub2/ftp.povray.org 
ftp.ncu.edu.tw:/Packages/ray-tracing 
ftp.vu.union.edu:/pub/povray 
sunsite.icm.edu.pl:/pub/povray/ 
uiarchive.cso.uiuc.edu:/pub/graphics/povray/ 
ftp.flashnet.it:/pub/ftp.povray.org/ 
ftp.univ-lille1.fr:/pub/povray 
ring.asahi-net.or.jp/pub/misc/povray/ 

HTTP 
www.etsimo.uniovi.es/ftp/pub/raytrace 
stef.u-picardie.fr/ftp/pub2/ftp.povray.org 
www.vu.union.edu/~ftp/pub/povray 
sunsite.icm.edu.pl/pub/povray 
ftp.ncu.edu.tw/Packages/ray-tracing/ 
serviceftp.flashnet.it/mirrors.htm 
kermit.stud.fh-heilbronn.de/povray 
ftp.uni-erlangen.de/pub/other/povray/ 
http://gd.tuwien.ac.at/graphics/raytracing/povray/ 
ftp.tu-clausthal.de/pub/mirror/povray

 

Contenu : (15 janvier 1998) ftp.povray.org

Pour se faire une id�e du contenu du site officiel, voici un extrait :
 
 
 
 
 pub
   lrwxr-xr-x  1 povray  vuser   15 Aug 24 11:12 HEADER -> povray/.message
   drwxr-xr-x  5 povray  vuser  512 Aug 24 13:13 povray
 pub/povray
   -rw-r--r--   1 povray  vuser   305 Jan  9 01:30 .message
   lrwxr-xr-x   1 povray  vuser     8 Aug 24 13:13 HEADER -> .message
   dr-xr-xr-x   2 povray  vuser  1536 Aug 24 13:13 Hall-Of-Fame
   -r--r--r--   1 povray  vuser  3262 Aug 24 10:52 MIRRORS
   dr-xr-xr-x  10 povray  vuser   512 Aug 24 11:14 Official-3.0
   -r--r--r--   1 povray  vuser  3262 Aug 24 10:52 README.MIRRORS
   -r--r--r--   1 povray  vuser  3731 Aug 24 10:52 README.MIRRORS.HTML
   dr-xr-xr-x   2 povray  vuser  1024 Aug 24 13:13 Ray-Tracing-News
 pub/povray/Hall-Of-Fame
   -r--r--r--  1 1017  1017  235235 May 14  1996 6x86.jpg
   -r--r--r--  1 1017  1017  393630 Sep 30  1994 6z4.jpg
   -r--r--r--  1 1017  1017     308 Sep 30  1994 6z4jpg.txt
   -r--r--r--  1 1017  1017  154256 Oct 13  1995 astplant.jpg
   -r--r--r--  1 1017  1017    2991 Oct 13  1995 astplant.txt
   -r--r--r--  1 1017  1017  110322 Sep 30  1994 ballz5.gif
   -r--r--r--  1 1017  1017  287164 Dec  8  1994 bell_jar.jpg
   -r--r--r--  1 1017  1017   57111 Oct 13  1995 bkntools.jpg
   -r--r--r--  1 1017  1017     610 Oct 13  1995 bkntools.txt
   -r--r--r--  1 1017  1017  331058 Sep 30  1994 brass.jpg
   -r--r--r--  1 1017  1017     254 Sep 30  1994 brass.txt
   -r--r--r--  1 1017  1017  284250 Sep 30  1994 bug1.gif
   -r--r--r--  1 1017  1017  279273 Sep 30  1994 camera.jpg
   -r--r--r--  1 1017  1017  367490 Oct 13  1995 crane.jpg
   -r--r--r--  1 1017  1017    2650 Oct 13  1995 crane.txt
   -r--r--r--  1 1017  1017  101473 Sep 30  1994 dragons.jpg
   -r--r--r--  1 1017  1017  295129 Sep 30  1994 frosty.gif
   -r--r--r--  1 1017  1017  777531 Sep 30  1994 frosty.tga.zip
   -r--r--r--  1 1017  1017   88350 Sep 30  1994 geodome.jpg
   -r--r--r--  1 1017  1017    2252 Sep 30  1994 geodome.txt
   -r--r--r--  1 1017  1017   11801 Sep 30  1994 geosmall.gif
   -r--r--r--  1 1017  1017  356889 Oct 13  1995 gofood1.jpg
   -r--r--r--  1 1017  1017     483 Oct 13  1995 gofood1.txt
   -r--r--r--  1 1017  1017  375781 Oct 13  1995 gogadget.jpg
   -r--r--r--  1 1017  1017     825 Oct 13  1995 gogadget.txt
   -r--r--r--  1 1017  1017   72337 Oct 13  1995 info_hwy.jpg
   -r--r--r--  1 1017  1017    1796 Oct 13  1995 info_hwy.txt
   -r--r--r--  1 1017  1017  109462 Oct 13  1995 jmwarmup.jpg
   -r--r--r--  1 1017  1017    3346 Oct 13  1995 jmwarmup.txt
   -r--r--r--  1 1017  1017     628 Sep 30  1994 julia.txt
   -r--r--r--  1 1017  1017   50762 Sep 30  1994 kettle.jpg
   -r--r--r--  1 1017  1017  295555 Sep 30  1994 kkteaset.jpg
   -r--r--r--  1 1017  1017      96 Sep 30  1994 kkteaset.txt
   -r--r--r--  1 1017  1017  151503 Sep 30  1994 lionfish.gif
   -r--r--r--  1 1017  1017     112 Sep 30  1994 mindmaz1.txt
   -r--r--r--  1 1017  1017  341101 Sep 30  1994 museum.jpg
   -r--r--r--  1 1017  1017     564 Sep 30  1994 museum.txt
   -r--r--r--  1 1017  1017  364856 Aug 19  1995 pcktwtch.gif
   -r--r--r--  1 1017  1017     580 Aug 19  1995 pcktwtch.txt
   -r--r--r--  1 1017  1017  590679 Jan 29  1996 pcktwtch.zip
   -r--r--r--  1 1017  1017     417 Sep 30  1994 pclock.txt
   -r--r--r--  1 1017  1017  213426 Sep 30  1994 plntscap.gif
   -r--r--r--  1 1017  1017    2558 Sep 30  1994 plntscap.txt
   -r--r--r--  1 1017  1017  125648 Oct 13  1995 springeq.jpg
   -r--r--r--  1 1017  1017    1129 Oct 13  1995 springeq.txt
   -r--r--r--  1 1017  1017  239594 Sep 30  1994 studying.jpg
   -r--r--r--  1 1017  1017  244179 Oct 13  1995 subrace.jpg
   -r--r--r--  1 1017  1017    2681 Oct 13  1995 subrace.txt
   -r--r--r--  1 1017  1017  191332 Sep 30  1994 sundae.gif
   -r--r--r--  1 1017  1017  162140 Sep 30  1994 woild2.gif
 pub/povray/Official-3.0
   -r--r--r--  1 povray  vuser     80 Jul 20 01:47 .message
   drwxr-xr-x  2 povray  vuser    512 Dec 16 03:53 Amiga
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 Docs
   lr-xr-xr-x  1 povray  vuser     11 Aug 24 11:14 HEADER -> ../.message
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 Linux
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 MS-Dos
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:36 Macintosh
   -r--r--r--  1 povray  vuser     83 Jul 20 01:48 README
   -r--r--r--  1 povray  vuser    222 Feb  6  1997 README.HTML-DOCS
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:31 SunOS
   dr-xr-xr-x  2 povray  vuser    512 Aug 24 10:32 Unix
   dr-xr-xr-x  3 povray  vuser    512 Aug 24 10:32 Windows
   -r--r--r--  1 povray  vuser  15055 Jul 19  1996 gamma.gif
   -r--r--r--  1 povray  vuser   1776 Jul 19  1996 gamma.gif.txt
   -r--r--r--  1 povray  vuser   3735 Feb  6  1997 news.3.01.txt
   -r--r--r--  1 povray  vuser  18452 Feb  5  1997 povlegal.doc
   -r--r--r--  1 povray  vuser  24060 Feb  1  1997 povwhere.get
   -r--r--r--  1 povray  vuser    110 Aug 24 11:01 www.html
 pub/povray/Official-3.0/Docs
   -r--r--r--  1 1017  1017      413 Feb  7  1997 README
   -r--r--r--  1 1017  1017   286517 Feb  7  1997 povdoc.zip
   -r--r--r--  1 1017  1017   764628 Feb  7  1997 povdocps.zip
   -r--r--r--  1 1017  1017  1601733 Feb  7  1997 povhtml.zip
   -r--r--r--  1 1017  1017    18452 Feb  7  1997 povlegal.doc
   -r--r--r--  1 1017  1017    24060 Feb  2  1997 povwhere.get
 pub/povray/Official-3.0/Linux * * * * *
   -r--r--r--  1 povray  vuser      786 Jul 20 01:41 00_index.txt
   -r--r--r--  1 povray  vuser      442 Jul 20 01:42 README
   -r--r--r--  1 povray  vuser  1506794 Feb  2  1997 povdoc.html.tgz
   -r--r--r--  1 povray  vuser   908752 Aug  1  1996 povdoc.ps.gz
   -r--r--r--  1 povray  vuser  1678592 Jul 18 13:02 povlinux.tgz

Pour Linux, il y a deux r�pertoires qui nous int�ressent particuli�rement : 'pub/povray/Official-3.0/Linux et 'pub/povray/Hall-Of-Fame'. Le dernier n'est pas indispensable, mais on aura ici ce qu'on ne peut obtenir dans le fameux manuel de Povray.

Le manuel est excellent, mais il a toujours �t� dit qu'une image vaut mieux que mille paroles. Ce manuel n'est pas illustr�e de mani�re ad�quate. On peut donc trouver ici une grande quantit� d'images qui sont le compl�ment id�al du manuel. Cela ne veut pas dire que le manuel est compl�tement d�nu� d'exemples, au contraire il y en a beaucoup. Chaque exemple illustre un concept, ce qui est excellent pour l'acquisition de la technique. Quelques exemples sont superbes, mais dans "Hall-Of-Fame", nous trouvons une s�lection d'images tr�s bonnes : un authentique mus�e d'art infographique. Chaque image est accompagn�e d'un texte explicatif, o� on explique les outils et les techniques qui permettent d'obtenir ces r�sultats incroyables.

Il faut cependant dire que de nombreux outils qui sont mentionn�s fr�quemment comme mod�lisateurs, convertisseurs,... ne sont pas encore disponibles pour Linux.

On peut n�anmoins recommander ftp.povray.org/pub/povray/Official-3.0/Linux et aussi ftp.povray.org/pub/povray/Hall-Of-Fame  non seulement pour le plaisir visuel, mais aussi comme une importante source d'inspiration cr�ative.

Nous allons d�crire une installation type, qui devrait fonctionner sur n'importe quelle version de Linux, bien qu'elle n'ait �t� essay� compl�tement que sur la Debian.


  

Installation

Comme pour toute installation, nous nous loguons dans le syst�me en tant que super utilisateur (root).
Nous supposons que nous poss�dons tous les fichiers n�cessaires dans notre syst�me dans le r�pertoire: "/incoming/pub/povray/Official-3.0/Linux"  
Puis nous taperons au clavier les diff�rentes commandes : 
 
 
        # mkdir /usr/local/sbin 
        # mkdir /usr/local/apli 
        # mkdir /usr/local/apli/povray 
        # cp "/incoming/pub/povray/Official-3.0/Linux" /usr/local/povray 
        # cd /usr/local/povray 
        # tar -xzf povlinux.tgz 
        # tar -xzf povdoc.html.tgz 
        # cd /usr/local/sbin 
        # ln -s /usr/local/apli/povray/povray3/x-povray x-povray 
        # ln -s /usr/local/apli/povray/povray3/s-povray s-povray 
 
Cela devrait suffire, puisqu'il n'y a rien � compiler.
Il faut simplement v�rifier que tout le monde poss�de le droit d'ex�cuter chacun des fichiers contenus dans le r�pertoire /usr/local/apli/povray/povray3 et pour les ex�cutables x-povray et s-povray. 
Dans notre cas, nous devons dans l'installation modifier quelques permissions au moyen de la commande 'chmod 755 (r�pertoire ou fichier).   

Configuration

La configuration de Povray doit servir � ce que la biblioth�que des fichiers 'includes' soit accessible, que la carte graphique soit reconnue, ainsi que pour �tablir les formats de fichiers en sortie et quelques autres probl�mes. P>Je crois, qu'au lieu d'expliquer ce qui est d�j� tr�s bien expliqu� dans le manuel (Quick Start), il est pr�f�rable de prendre une configuration assez g�n�rale, qui permette � la plupart des utilisateurs de Linux d'utiliser Povray facilement, de mani�re confortable et imm�diate.

Povray peut �tre utilis� en mode SVGA, mais cela nous obligerait � �tablir des configurations pour chaque carte graphique. Nous allons supposer que vous avez dans votre syst�me Xwindows install� et que vous utilisez comme visualisateur d'images 'xv'.

La configuration pour pouvoir travailler sur Linux avec les nouvelles versions de 'Povray' peut �tre simplifi�e au maximum. On peut utiliser des variables mais il est plus pratique de g�n�rer un fichier de configuration *.ini qui contienne tout le n�cessaire.

Il existe des fichiers *.ini fournies � titre d'exemples pour des cas g�n�raux. Cela donne lieu � diverses possibilit�s pour �tablir une configuration. On peut r�f�rencer dans une variable le fichier de configuration par d�faut, o� on peut utiliser des variables pour localiser la biblioth�que de "includes" par d�faut, etc.. On peut aussi passer comme arguments un grand nombre d'options : nous nous contenterons d'inclure tout cela dans un fichier de configuration *.ini, qu'on passera comme argument dans la ligne de commande. Si vous n'�tes pas convaincu par ce syst�me, consultez le manuel et vous vous rendrez compte qu'il existe diverses possibilit�s pour atteindre le m�me r�sultat, mais il n'est pas question dans cet article de d�crire toutes ces possibilit�s, mais d'indiquer la plus utile possible.

Il existe aussi un shell utile pour g�n�rer toutes les images correspondant aux exemples de "allscene.h".

Vous souhaiterez probablement, au lieu de g�n�rer la totalit� des sc�nes avec une r�solution pauvre, en choisir une et la rendre avec une meilleure r�solution.

Dans ce cas, allez sur le r�pertoire de l'exemple et lancez povray en utilisant le fichier ini suivant :

-------------------------8<------------(ini.ini)----------------
Width=640
Height=480
Quality=8
Library_Path=/usr/local/apli/povray/povray3/include
Output_to_File=on
Output_File_Type=t
Output_File_Name=out.tga
verbose=on
-------------------------8<--------------------------------------
Les deux premi�res lignes d�terminent la r�solution finale de l'image. La ligne de commande pour obtenir l'image est la suivante :
La ligne de commande pour obtenir l'image est la suivante :

$ s-povray ini.ini +i source.pov 

Le fichier 'fuente.pov' est le nom du fichier qu'on souhaite travailler. On obtiendra une image 'out.tga' qu'on pourra ensuite visualiser avec xv out.tga.

POV : Un utilitaire pour travailler avec Povray

'pov' est un script pour travailler confortablement. En premier lieu, nous montrerons son listing :
------------------------8<-----------------------------------
#!/bin/bash
#####################################################################
#  Autor: Antonio Castro Snurmacher  (1.998)
#
#       pov (ver 1.0)
#
#       Esta versión esta dedicada a su inclusión en la
#       revista LinuxFocus   (freeware)
# 
#  Este programa puede ser utilizado, distribuido, y modificado
#  libremente pero siempre se deberá respetar la propiedad
#  intelectual de su autor. Esta cabecera debe ser conservada 
#  tal cual en todas las modificaciones. 
#
#  En caso de traducción deberá conservarse el texto original de
#  esta cabecera y añadirse la traducción a continuación de ella.
#
#  El autor renuncia a todo tipo de beneficio económico y no se hace 
#  responsable de los posibles perjuicios derivados del uso del mismo. 
# 
#  E-mail ([email protected])
# 
#####################################################################
#  Auteur : Antonio Castro Snurmacher (1.998)  (1.998)
#
#       pov (ver 1.0)
#
#       Cette version est destin�e � �tre incluse dans la
#       revue Linuxfocus   (freeware)
# 
#  Ce programme peut �tre utilis�, distribu� et modifi� librement
#  freely but always has to respect the intellectual
#  mais on devra respecter la propri�t� intellectuelle de l'auteur.
#  Cet ent�te doit �tre conserv�e tel quel dans toutes les 
#  modifications.
#
#  En cas de traduction, on devra conserver le texte original de
#  l'ent�te et ajouter la traduction � la suite.
#
#  L'auteur renonce � tout type de b�n�fice �conomique et
#  n'est pas responsable des pr�judices �ventuels dus � son
#  utilisation.
# 
#  E-mail ([email protected])
# 
#####################################################################
usage(){
   echo "Usage: pov (project) (size=0..6) (quality=1..11)"
   echo
   echo "0) 40x30     (STD/20) No backup"
   echo "1) 80x60     (STD/10) No backup"
   echo "2) 100x75    (STD/8)  No backup"
   echo "3) 200x150   (STD/4)"
   echo "4) 266x200   (STD/3)"
   echo "5) 320x200 *"
   echo "6) 400x300   (STD/2)"
   echo "7) 640x480 *"
   echo "8) 800x600 *   (STD)"
   echo "9) 1024x768 *"
   echo
  echo "Les projets doivent se trouver dans le r�pertoire"
  echo "${HOMEPOV} et on utilisera le m�me nom pour le r�pertoire"
  echo "et pour le fichier source principal *.pov"
  echo "(STD) est la resolution qui fait r�f�rence standard."
   echo
   exit 1
}

newversion(){
mv ${PREFIX}.pov.8.gz ${PREFIX}.pov.9.gz 2> /dev/null
mv ${PREFIX}.pov.7.gz ${PREFIX}.pov.8.gz 2> /dev/null
mv ${PREFIX}.pov.6.gz ${PREFIX}.pov.7.gz 2> /dev/null
mv ${PREFIX}.pov.5.gz ${PREFIX}.pov.6.gz 2> /dev/null
mv ${PREFIX}.pov.4.gz ${PREFIX}.pov.5.gz 2> /dev/null
mv ${PREFIX}.pov.3 ${PREFIX}.pov.4 2> /dev/null
mv ${PREFIX}.pov.2 ${PREFIX}.pov.3 2> /dev/null
mv ${PREFIX}.pov.1 ${PREFIX}.pov.2 2> /dev/null
cp ${PREFIX}.pov   ${PREFIX}.pov.1 
gzip ${PREFIX}.pov.4 2> /dev/null
}

#################################################
size(){
   export SAVE="yes"
   case  $1 in
      0) Width=40 ; Height=30; SAVE="no" ;;
      1) Width=80 ; Height=60  SAVE="no" ;;
      2) Width=100; Height=75  SAVE="no" ;;
      3) Width=200; Height=150;;
      4) Width=266; Height=200;;
      5) Width=320; Height=200;;
      6) Width=400 ;Height=300;;
      7) Width=640 ;Height=480;;
      8) Width=800 ;Height=600;;
      9) Width=1024;Height=768;;
      *) usage
   esac
}

quality(){
   case $1 in
        1) ;;
        2) ;;
        3) ;;
        4) ;;
        5) ;;
        6) ;;
        7) ;;
        8) ;;
        9) ;;
        10) ;;
        11) ;;
       *) usage
   esac
   export Quality=$1
}

####################### main ##############################
export HOMEPOV=${HOME}/dat/pov
export PROYECT=$1
export PREFIX=${HOMEPOV}/${PROYECT}/${PROYECT}
if [ $# != 3 ]
   then usage
fi
export POVRAY=/usr/local/apli/povray/povray3
size $2
quality $3
if [ $SAVE == "yes" ]
   then newversion
fi
cat <<-FIN > ${PREFIX}.ini
   Width=$Width
   Height=$Height
   Quality=$Quality
   Library_Path=${POVRAY}/include
   Input_File_Name=${PREFIX}.pov
   Output_to_File=on
   Output_File_Type=t
   Output_File_Name=${PREFIX}.tga
   verbose=on
   Post_Scene_Command=xv ${PREFIX}.tga
FIN
#   Output_File_Type=t
## Others hight performace options ##
#   Antialias_Depth=3
#   Antialias=On
#   Antialias_Threshold=0.1
#   Jitter_Amount=0.5
#   Jitter=On

# on baisse la priorit� du process si on veut faire autre chose.
nice -20 x-povray ${PREFIX}.ini 

if [ $SAVE != "yes" ]
    then echo " Attention !! Cette version ne g�n�re pas de sauvegarde!"

fi

------------------------8<-----------------------------------
Lorsqu'on dessine, il faut recommencer � plusieurs reprises, pour se rapprocher petit � petit du r�sultat souhait�.

*.ini, lance le traceur Povray et visualise ensuite le r�sultat. On suppose qu'on va travailler dans le r�pertoire du type $HOME/dat/pov/(nom-projet) et que le nom du fichier principal est (nom-projet).pov

Ce script g�n�re des fichiers *.ini qui sont pratiquement suffisants dans la grande majorit� des cas. En outre, il est orient� pour travailler de mani�re concr�te, mais si vous n'aimez pas cette fa�on de travailler, il est facile de la modifier.

Cet utilitaire �tablit en plus un syst�me qui conserve les derni�res modifications dans des fichiers sources, car il arrive souvent qu'on souhaite, apr�s divers changements, revenir � une version ant�rieure pour s'orienter autrement. Comme il a d�j� �t� dit, le process cr�atif, c'est comme si on donnait des coups de pinceau au fur et � mesure, et qu'on d�cidait petit � petit comment poursuivre. Si on lance le programme avec les r�solutions les plus basses, il ne se produit aucun d�placement de versions ni de backup : on consid�re que c'est un essai sans int�r�t. Ce type d'essai s'effectue pour obtenir rapidement une id�e qui permette de d�terminer si les positions aux traits des objets conviennent bien.

Tout ceci peut �tre modifi�, mais en ce qui me concerne, il m'est utile de travailler de cette mani�re. Pour obtenir une petite aide, tapez 'pov' sans arguments.

Quelques r�solutions disponibles co�ncident avec des modes standard de quelques r�solutions vid�os. D'autres sont des fractions de la r�solution 800x600. Si vous n'avez pas l'habitude de travailler avec Povray, cela vous servira de m�thodologie initiale de travail. Plus tard, il est probable que vous souhaitiez adapter cet outil � vos besoins particuliers.

Il vous faut cr�er les r�pertoires ad�quats pour travailler dans votre r�pertoire $HOME et vous verrez qu'il est tr�s simple de faire des choses d�s le premier jour. Nous baserons les exercices sur cet outil. Bien qu'il ne soit pas indispensable de l'utiliser, il rendra votre travail plus confortable.

Nous commencerons avec un exemple simple pour essayer toutes les fonctions :

------------------------8<-----------------------------------
#include "colors.inc"
#include "textures.inc"
#include "glass.inc"

// Auteur : Antonio Castro
 // La cam�ra pointe sur divers points 
 // de plusieurs sph�res

camera {
  location <0, 15, 35>
  look_at <0, 10, 0>
}

// source de lumi�re blanche
object {
  light_source {
  <20, 100, 50>
  color White
  }
}

// Ciel avec des nuages blancs
object {
 sphere { <0, 0, 0> 200000}  // Great vault of heaven
 texture {Blue_Sky scale <50000, 6000, 50000>} // We strecht the clouds
}

// Boule en or
sphere { <-10, 10, 0> 10   
    texture { Gold_Metal }
}

// Boule de miroir
sphere { <10, 10, 0> 10  
    texture { Mirror }
}

// Boule de cristal
sphere { <0, 5, 10> 5   
    texture { T_Glass1 }
}

// sol
 // Il est r�alis� au moyen d'une grande sph�re qui touche le centre 
 // mais on aurait pu le r�aliser sur une surface plane.

sphere {<0, -1000000, 0> 1000000
 pigment {checker color Red color Yellow scale 2 } // Checker texture
}
------------------------8<-----------------------------------
Copier ceci dans $HOME/dat/pov/sample1/sample1.pov.  
Si c'est n�cessaire, cr�er en premier une structure correcte de r�pertoires. Puis vous utiliserez l'outil 'pov' qu'on fournit dans cet article, en le lan�ant depuis une session xterminal de Xwindows avec son utilitaire.

$ pov sample1 4 9 

Vous devrez utiliser en m�me temps 'xv' pour le visualiser, ce qui rendra votre travail tr�s confortable. Lorsque vous souhaiterez r�aliser vos propres sc�nes, nous vous recommandons d'ouvrir une autre fen�tre 'xterm' avec la version texte du manuel �dit�e par exemple avec vi en mode lecture seule pour chercher rapidement les mots-cl�s du langage et ainsi vous pourrez consulter rapidement sa syntaxe, avec un exemple d'utilisation.

sample1 

../../common/March1998/sample1.gif 
 
 

Traduit par Joaquin Gonzales

 

© 1998 Antonio Castro
Ce site web est mantainu par Miguel A Sepulveda.