La section de référence décrit tous les commutateurs de la ligne de commande et les mots clés des fichiers INI qui sont utilisés pour paramétrer les options de POV-Ray. Elle est faite pour être utilisée comme une référence pour un aperçu des éléments. Elle ne contient pas d'explications détaillées sur la manière d'écrire une scène ou la façon dont POV-Ray réagit. Elle explique seulement toutes les caractéristiques, leurs syntaxes, applications, limites, apports, etc.
Les options peuvent être spécifiées par des commutateurs ou des options de style INI. Pratiquement toutes les options de style INI ont leur équivalent en commutateurs + / -, et la plupart des commutateurs ont leur équivalent en option de style INI. Les sections suivantes donnent une description détaillée de chaque option de POV-Ray. Elles incluent à la fois les paramètres de style INI et les commutateurs + / -.
La notation et la terminologie utilisées sont décrites dans les tables suivantes.
Mot clé = booléen |
Active le mot clé, si booléen est true, yes, on ou 1, et le désactive pour d'autres valeurs. |
Mot clé = true |
Exécute cette option si true, yes, on ou 1 est spécifié. |
Mot clé = false |
Exécute cette option si false, no, off ou 0 est spécifié. |
Mot clé = nom de fichier |
Alimente Mot clé avec le nom de fichier s'il est valide.
Note : quelques options interdisent l'utilisation des valeurs true ou false comme nom de fichier. Elles sont notées dans les sections suivantes. |
| n | Tout entier comme dans +W320 |
| n.n | Tout décimal comme dans Clock = 3.45 |
| 0.n | Tout décimal < 1.0 même s'il n'a pas de zéro en terminaison |
| s | Toute chaîne de texte |
| x ou y | Tout caractère unique |
| chemin | Tout nom de dossier, avec lecteur optionnel, sans séparateur de dossier final ("\" ou "/", selon le système d'exploitation) |
A moins que ce soit spécifié, vous pouvez partir du principe que le signe plus ou moins, devant un commutateur, produira le même résultat.
Une boucle d'animation interne, la numérotation automatique des fichiers en sortie et la possibilité de s'ouvrir des utilitaires extérieurs qui peuvent assembler les pages individuelles en animation, améliorent grandement les capacités d'animation. La boucle d'animation interne est aussi simple que flexible. Vous pouvez toujours utiliser des programmes externes, ou des fichiers de traitement par lot, pour créer les animations sans cette boucle.
Clock = n.n |
Met l'identifiant décimal de clock à n.n |
+Kn.n |
Identique à Clock = n.n |
L'option Clock = n.n ou le commutateur +Kn.n peuvent être utilisés pour passer une valeur décimale unique au programme, pour l'animation de base. La valeur est stockée dans l'identifiant décimal clock. Si un objet a rotate <0, clock, 0> alors, vous pouvez faire des rotations de l'objet de différentes ampleurs sur des pages différentes en posant +K10.0, +K20.0... etc. sur des rendus successifs. C'est de la responsabilité de l'utilisateur d'invoquer de manière répétitive POV-Ray avec une valeur clock différente et de générer des pages avec un Output_File_Name pour chacune d'elle.
La boucle d'animation interne soulage l'utilisateur de la création de fichier de traitements complexes pour appeler POV-Ray plusieurs fois avec différents paramètres. Quoique la multitude des options puisse paraître intimidante, l'astucieux paramétrage de valeurs par défaut vous conduit à n'avoir à spécifier que Final_Frame = n ou +KFFn pour donner le nombre de pages. Toutes les autres valeurs restent sur leurs défauts.
Toute position de Final_Frame autre que -1 déclenchera la boucle. Par exemple, Final_Frame = 10 ou +KFF10 fait rendre votre scène 10 fois. Si vous spécifiez Output_File_Name = nom.tga, alors chaque page sera sortie dans nom01.tga, nom02.tga, nom03.tga etc. Le nombre de zéros dépend du numéro de la dernière page. Par exemple, +KFF100 générera les fichiers nom001.tga à nom100.tga. Le numéro de la page peut mordre sur le nom du fichier. Sur MS-DOS, avec une limitation à 8 caractères, myscene.pov sera rendu depuis mysce001.tga jusqu'à mysce100.tga.
Initial_Frame = 1 par défaut n'aura probablement jamais besoin de changer. Vous ne le ferez que pour le rendu de longues séquences animées en plusieurs étapes. Une scène peut être rendue de la page 1 à 50, et la suivante de 51 à 100. Les options Initial_Frame = n ou +KFIn servent à cela.
Note : si vous voulez rendre un sous-ensemble de pages, comme celles de 30 à 40, dans une animation de 1 à 100 pages, vous ne devez pas changer Initial_Frame ou Final_Frame. Vous devez utiliser la commande de sous-ensemble décrite dans la section "Sous-ensembles de pages d'animation".
A l'inverse de certains logiciels d'animation, l'action de POV-Ray dans l'animation de scènes, ne dépend pas du nombre de pages. Vous devez plutôt dessiner vos scènes en vous basant sur l'identifiant décimal clock. Par défaut, la valeur de l'horloge est 0.0 pour la page initiale, et 1.0 pour la dernière. Toutes les autres pages sont interpolées de ces deux valeurs. Par exemple, si votre objet est supposé avoir une révolution complète pendant l'animation, vous pouvez spécifier rotate 360*clock*y. Ainsi, tandis que l'horloge passe de 0.0 à 1.0, l'objet tourne autour de l'axe y de 0 à 360 degrés.
L'avantage majeur est que vous pouvez générer une animation de 10 pages, ou de 100 pages, ou de 500 pages ou de 329 pages tout en gardant une révolution complète de 360 degrés. Le test de quelques pages ressemble exactement au rendu final de la totalité.
Dans les faits, vous définissez le mouvement selon la valeur d'un paramètre décimal (l'horloge) et vous prenez des échantillons à intervalles fixes (les pages). Si vous prenez un film ou une cassette vidéo d'une scène réelle, cela fonctionne de la même manière. L'actuel mouvement d'un objet dépend seulement du temps. Il ne dépend pas de la vitesse de prise de vues de votre caméra.
Plusieurs utilisateurs ont déjà créé des scènes pour POV-Ray 2 qui attendent des valeurs d'horloge au-delà de la fourchette par défaut de 0.0 à 1.0. Pour cette raison, nous fournissons les options Initial_Clock = n.n ou +KIn.n et Final_Clock = n.n ou +KFn.n. Par exemple, pour lancer une horloge de 25.0 à 75.0, vous devrez spécifier Initial_Clock = 25.0 et Final_Clock = 75.0. Alors, l'horloge sera initialisée à 25.0 pour la première page et 75.0 pour la dernière. Entre les deux, la valeur de l'horloge sera proportionnellement estimée entre 25.0 et 75.0.
Les utilisateurs qui sont habitués à utiliser plutôt les numéros de pages peuvent spécifier Initial_Clock = 1.0 et Final_Clock = 10.0 et Frame_Final = 10 pour une animation de 10 pages.
Pour les nouvelles scènes, nous recommandons de ne pas changer Initial_Clock ou Final_Clock de leurs valeurs par défaut 0.0 à 1.0. Si vous voulez tout de même changer la fourchette, nous recommandons de le faire ainsi dans votre scène...
#declare Start = 25.0; #declare End = 75.0; #declare My_Clock = Start+(End-Start)*clock;
Puis utilisez My_Clock dans la description de la scène. Cela conserve vos valeurs critiques 25.0 et 75.0 dans votre fichier .pov.
Note : de plus amples détails concernant le travail interne de la boucle d'animation sont dans la section "La sortie vers le système d'exploitation".
Dans la création d'une longue animation, il peut être pratique de ne rendre qu'une partie de l'animation pour voir ce qui se passe. Supposons que vous ayez 100 pages, mais ne veuillez rendre que les pages 30 à 40. Si vous mettez Initial_Frame = 30 et Final_Frame = 40, alors l'horloge variera de 0.0 à 1.0 pour ces 10 pages au lieu de 0.30 à 0.40 comme il se doit. Par conséquent, vous devez laisser Initial_Frame = 1 et Final_Frame = 100 et utiliser Subset_Start_Frame = 30 et Subset_End_Frame = 40 pour spécifier la partie à rendre. POV-Ray calculera correctement les valeurs de l'horloge.
D'ordinaire, vous spécifierez le sous-ensemble en utilisant le numéro des pages, pourtant une alternative de la commande de sous-ensemble prend une décimale dans la fourchette 0.0 <= n.nnn <= 1.0 qui est interprétée comme une fraction de l'animation totale. Par exemple, Subset_Start_Frame = 0.333 et Subset_End_Frame = 0.667 rendrons le tiers central d'une séquence, sans se soucier du numéro des pages.
Cyclic_Animation = booléen |
Active/désactive l'animation cyclique |
+KC |
Active l'animation cyclique |
-KC |
Désactive l'animation cyclique |
Beaucoup d'animations pour les ordinateurs sont censées tourner dans une boucle continue. Supposons que vous avez un objet en rotation sur 360 degrés, et que vous faites rotate 360*clock*y pour cela. Les premières et dernières pages seront identiques. En lecture il y aura une brève page répétée. Pour éliminer cela, vous devez ajuster l'horloge de façon à ce que la dernière page ne soit pas identique à la première. Par exemple, une animation cyclique de 10 pages ne doit pas utiliser l'horloge de 0.0 à 1.0. Elle doit tourner de 0.0 à 0.9 avec un incrément de 0.1. Toutefois, si vous passez à 20 pages, elle doit tourner de 0.0 à 0.95 avec un incrément de 0.05. Cela complique les choses, car vous devez changer la valeur finale de l'horloge à chaque fois que vous changez Final_Frame. Mettre Cyclic_Animation = on ou utiliser +KC obligera POV-Ray à ajuster automatiquement la valeur finale de l'horloge, en rapport avec le nombre de pages. La valeur par défaut de ce paramètre est off.
Le rendu en champ est utile pour des animations pour la télévision. La TV n'affiche que des lignes alternées à chaque rafraîchissement vertical. Quand chaque page est affichée, les champs sont entrelacés pour donner l'impression d'une haute définition. Les lignes paires faisant les champs pairs sont affichées les premières (lignes 0, 2, 4, etc.), suivies par les champs impairs, faits de lignes impaires. Si les mouvements sont rapides, la position peut changer notablement d'un champ à l'autre. Dans ce cas, il peut être souhaitable de demander à POV-Ray de rendre des champs alternatifs à la vitesse actuelle des champs (qui est le double de celui des pages), plutôt que de rendre la page complète à la vitesse des pages. Cela peut sauvegarder beaucoup de temps, en comparaison au rendu de toute l'animation au double de la vitesse des pages, et en utilisant seulement la moitié de chaque page.
Par défaut, le rendu en champ n'est pas utilisé. Field_Render = on ou l'utilisation de +UF fera que l'alternance des pages dans une animation sera seulement sur les champs pairs ou impairs. Par défaut, le premier champ est pair, suivi par le champ impair. Vous pouvez rendre en premier le champ impair avec Odd_Field = on, ou +UO.
Height = n |
Met la hauteur de l'écran à n pixels |
Width = n |
Met la largeur de l'écran à n pixels |
+Hn |
Comme Height = n |
+Wn |
Comme Width = n |
Ces commutateurs fixent la hauteur et la largeur de l'image en pixels. Cela spécifie la taille de l'image en sortie. La prévisualisation, si active, essaiera de prendre un mode pour s'accommoder à cette taille, mais cela n'affectera pas le résultat dans le fichier en sortie.
Quand on exécute un test, il est souvent commode de définir une petite sous-section rectangulaire de l'ensemble de l'écran, ainsi, vous pouvez rapidement vérifier une partie de l'image. Les options Start_Row, End_Row, Start_Column et End_Column vous permettent de définir cette zone. Les valeurs par défaut sont la taille totale de l'image, de (1, 1), qui est le coin haut gauche, à (w, h), le coin bas droit, ou w et h sont les valeurs de Width = n et Height = n que vous avez fixées.
Note : si le nombre spécifié est plus grand que 1, alors la valeur est interprétée comme une quantité de pixels. Si c'est une valeur décimale dans la fourchette de 0.0 à 1.0, alors c'est interprété comme un pourcentage de la largeur ou de la hauteur de l'image.
Par exemple : Start_Row = 0.75 et Start_Column = 0.75 démarrent à une ligne à 75% du haut et à une colonne à 75% de la gauche. Donc, seul est rendu le quart bas droit de l'image, quelle que soit sa taille.
Les commutateurs +SR, +ER, +SC et +EC fonctionnent de la même manière. Les versions précédentes de POV-Ray n'autorisaient que les colonnes de début et de fin, avec +Sn et +En, donc, ils sont toujours supportés en plus de +SR et +ER.
Lors du rendu d'un sous-ensemble de 'colonnes' (+sc/+ec) POV-Ray génère une image en pleine largeur et remplit les colonnes non rendues avec des pixels noirs. Cela ne devrait pas être un problème pour les programmes d'affichage d'images, quelque soit le format de fichier utilisé.
Lors du rendu d'un sous-ensemble de 'lignes' (+sr/+er) POV-Ray écrit la hauteur totale dans l'en-tête du fichier image et n'ajoute que les lignes rendues. Cela peut poser des problèmes avec les programmes d'affichage d'images qui ne vérifient pas l'en-tête et se contentent de lire les données jusqu'à la fin.
Si POV-Ray a écrit la hauteur actuelle d'un image partielle dans l'en-tête du fichier image, il n'y a aucune possibilité de reprendre un rendu interompu.
Sur certains systèmes d'exploitation, dès que vous avez commencé un rendu, vous devez le laisser se terminer. L'option Test_Abort = on ou le commutateur +X demandent à POV-Ray de tester le clavier. Si vous avez pressé une touche, il générera un abandon sur demande. Les fichiers de travail seront vidés et fermés, mais seuls les datas de la dernière ligne complétée seront sauvés. POV-Ray sort avec une erreur de code 2 (normalement, il retourne le code 0 sur un succès, ou 1 sur une erreur fatale).
Quand cette option est activée, le clavier est testé à chaque ligne, lors du précalcul de la scène, et à chaque pixel lors du rendu. Parce que cela peut ralentir un rendu, l'option Test_Abort_Count=n ou le commutateur +Xn demande au test de se faire seulement tous les n pixels rendus, ou lignes précalculées.
Si vous stoppez un rendu ou si vous utilisez l'option End_Row pour finir prématurément, vous pouvez utiliser Continue_Trace = on ou +C pour continuer au point d'abandon. Cette option lit la sortie précédemment générée, affiche l'image partielle, puis reprend le rendu. Cette option ne peut pas être utilisée si la sortie fichier est désactivée avec Output_to_file = off ou -F.
L'option Continue_Trace peut ne pas fonctionner si Start_Row a été pointé sur autre chose que le début de l'image, selon le format de fichier en sortie. De même, POV-Ray ne peut reprendre si le fichier a été ouvert et sauvegardé par un autre programme.
POV-Ray essaie de retrouver où reprendre un rendu interrompu, en lisant tout data généré précédemment, dans le fichier de sortie spécifié. Tous les fichiers contiennent la taille de l'image, donc cela écrasera les tailles données. Quelques formats (TGA et PNG) contiennent également l'information sur la position du début de l'image (les options +SCn et +SRn), la sortie alpha +UA, et la profondeur +FNn, qui remplaceront ces paramètres. C'est de la responsabilité de l'utilisateur de vérifier que les autres options sont identiques au traçage précédent.
L'option Create_Ini ou +GI procure une facilité pour générer un fichier INI avec toutes les options de rendu, ainsi, vous pouvez rendre les images avec les mêmes options, ou vous assurer que vous avez les mêmes options lors d'une reprise. Elle crée un fichier INI avec toutes les options et leurs valeurs, lors du rendu. Cela inclut les valeurs par défaut que vous n'avez pas spécifiées. Par exemple, si vous lancez POV-Ray avec...
POVRAY +Isimple.pov MYOPTS +GIrerun.ini MOREOPTS
POV-Ray créera un fichier appelé rerun.ini avec toutes les options utilisées. Le fichier n'est écrit que quand toutes les options ont été calculées. Cela signifie que pour l'exemple donné, le fichier inclura les options de myopts.ini et de moreopts.ini malgré le fait que +GI est spécifié entre eux deux. Vous pouvez maintenant retracer la scène avec...
POVRAY RERUN
ou reprendre un tracé interrompu avec
POVRAY RERUN +C
Si vous ajoutez de nouveaux commutateurs avec la référence rerun.ini, ils seront inclus dans les futurs rendus, car le fichier est reécrit à chaque lancé.
L'option Create_Ini est également pratique pour documenter la façon dont une scène a été rendue. Si vous rendez waycool.pov avec Create_Ini=on alors il créera un fichier waycool.ini que vous pouvez distribuer avec votre scène pour que les autres utilisateurs puissent recréer votre image.
Le Display = on ou le commutateur +D active la visualisation de l'image en cours de rendu. Même sur certains systèmes non graphiques, POV-Ray peut afficher une version "ASCII-Art" de votre image en 80 par 24 caractères. Quand il est disponible, l'affichage sera total, en couleurs vraies 24-bit. Mettre Display = off ou utiliser -D désactive l'affichage, ce qui est le défaut.
Sur la plate-forme Windows, le défaut est Display = on. La désactivation de l'affichage ne ferme pas l'affichage vidéo actuel, bien sûr. Mais POV-Ray n'ouvrira pas de fenêtre de sortie montrant le rendu en cours.
L'option Video_Mode = x configure le mode d'affichage, ou le type de matériel, ou x est un chiffre unique ou une lettre dépendant de la machine. Généralement, Video_Mode = 0 signifie l'utilisation du défaut ou d'une configuration auto détectée. Avec les commutateurs, ce caractère suit immédiatement le commutateur. Par exemple, +D0 placera l'affichage graphique dans le mode par défaut.
L'option Palette = y sélectionne la palette à utiliser. Le caractère y est typiquement un chiffre qui sélectionne l'une des multiples palettes, ou une lettre comme G pour les tons de gris, H pour la couleur 15 bits ou 16 bits ou T pour la couleur vraie 24 bits. Pour les commutateurs, c'est le second caractère qui suit. Par exemple, +D0T placera l'affichage graphique en mode par défaut et une palette de couleur 24 bits.
Le paramètre Display_Gamma = n.n n'est pas disponible en commutateur de ligne de commande. Il surmonte le problème des images qui ont des luminosités différentes selon les écrans utilisés, les cartes vidéo, et les systèmes d'exploitation.
Note : Display_Gamma est basé sur votre matériel d'affichage, et ne doit être mis en place qu'une seule fois.
Le paramètre INI Display_Gamma fonctionne en conjonction avec le nouveau paramètre global assumed_gamma pour s'assurer que les scènes, et les images créées, ont la même apparence sur tous les systèmes. Voir la section "assumed_gamma" qui décrit le paramétrage de assumed_gamma et le gamma de manière approfondie.
Puisque le Display_Gamma peut être différent sur chaque système, il y a une série de règles qui peuvent être utilisées pour le paramétrer, si vous ne le connaissez pas. Si le mot clé Display_Gamma n'apparaît pas dans le fichier INI, POV-Ray assume qu'il est à 2.2. Cela parce que la plupart des moniteurs de PC ont une valeur de gamma entre 1.6 et 2.6 (Les nouveaux modèles semblent avoir un gamma plus faible). Mac a la possibilité de faire la correction gamma dans le système (basé sur un paramétrage utilisateur dans le panneau de contrôle). Si cette caractéristique est désactivée, ou n'existe pas, le gamma par défaut du Macintosh est de 1.8. De nombreuses nouvelles cartes graphiques de PC peuvent faire la correction gamma au niveau du matériel, et utiliseront le Display_Gamma actuel, usuellement 1.0.
L'image test suivante permet de vous aider à régler votre Display_Gamma avec précision.
Avant de visualiser l'image du gamma, assombrissez la pièce et placez la luminosité et le contraste de votre écran au maximum. Baissez la luminosité jusqu'à ce que 'l'arrière-plan' ne soit plus discernable (c.a.d. qu'il vient de disparaître de la vue). Cela peut être difficile sur les moniteurs qui utilisent l'overscanning, sauf si vous changez le paramétrage des aires visibles.

Maintenant, baissez le contraste jusqu'à ce que les barres alternées blanches et noires, sur le côté gauche de chaque colonne, aient la même épaisseur. Cela essaie d'obtenir un gris à 50% en utilisant une moitié blanche et l'autre noire. Si cela n'est pas possible, choisissez un contraste moyen. En regardant l'image de loin, ou en clignant des yeux, l'une des plages grisées correspondra au plus près au ton des barres blanches et noires. Le nombre dans cette plage est votre valeur de gamma actuelle.
Les valeurs de gamma normales sont dans la fourchette de 2.0 à 2.6. Si votre écran est dans un lieu sombre, vous utilisez souvent un gamma inférieur de 15 à 25% de la valeur actuelle pour donner plus de contraste. Quelques systèmes, commes les Mac et les SGI, font une correction gamma, donc ont des gammas de 1.0 à 1.8.
Pour les scènes qui ne contiennent pas la commande assumed_gamma, l'option INI Display_Gamma n'aura aucun effet sur la prévisualisation de POV-Ray ou sur la plupart des formats de sortie. Toutefois, la valeur de Display_Gamma est utilisée pour les formats PNG, et aussi quand on rend les fichiers exemples de POV-Ray (car ils ont un assumed_gamma), donc il doit être correctement paramétré pour garantir des résultats.
Sur certains systèmes, quand l'image est complète, l'affichage est effacé et POV-Ray retourne au mode texte pour afficher les statistiques et pour sortir. Normalement, quand l'affichage graphique est activé, vous voulez voir l'image un moment avant de continuer. L'utilisation de Pause_When_Done = on ou +P demande à POV-Ray de s'arrêter en mode graphique, jusqu'à ce que vous pressiez une touche pour continuer. Le défaut est : pas de pause (-P).
Quand l'affichage graphique n'est pas utilisé, il est désirable de voir la progression du rendu. L'utilisation de Verbose = on ou +V active le rapport verbeux de la progression. Cela rend compte du nombre de lignes rendues, le temps passé, et d'autres informations. Sur certains systèmes, cette information textuelle peut entrer en conflit avec la prévisualisation. Vous pouvez avoir besoin de désactiver cette option, quand la prévisualisation est active. Le défaut est la désactivation (-V).
L'option Draw_Vistas = on ou +UD était originellement une aide pour la correction des vues de POV-Ray, mais c'était si divertissant que nous avons décidé de le conserver. La mémorisation des vues est une méthode de subdivision spatiale qui projette des extensions 2-D des boîtes encapsulantes dans la fenêtre de visualisation. POV-Ray teste la situation des pixels x et y en 2-D vis-à-vis des ces rectangles, pour déterminer rapidement les objets qui seront touchés par le rayon. Cette option vous montre ces rectangles. Le paramétrage par défaut est (-UD) car cela peut prendre un temps considérable sur les vues complexes, et cela ne sert à rien d'important. Voir la section "Contrôle de l'encapsulage automatique" pour plus de détails.
Typiquement, quand vous développez une scène, vous voulez faire de nombreux tests en basse résolution, pour voir si les objets sont correctement placés. Toutefois, cette basse résolution ne vous donne pas assez de détails, et vous devez rendre la scène à une plus haute résolution. La prévisualisation en mosaïque résout ce problème en faisant un rendu automatique en plusieurs passages.
Les premiers passages dessinent une image primaire, en utilisant de larges blocs de pixels, qui ressemblent aux pavés d'une mosaïque. L'image est ensuite affinée avec des résolutions de plus en plus hautes, au fil des passages. Cette méthode d'affichage donne très rapidement l'image en basse résolution, vous laissant le loisir de voir les problèmes majeurs de la scène. Pendant qu'elle affine l'image, vous pouvez vous concentrer sur plus de détails, comme les ombres et les textures. Vous n'avez pas à attendre un rendu complet pour trouver les problèmes, étant donné que vous pouvez interrompre le rendu pour les corriger, ou, si tout est bon, le laisser se poursuivre jusqu'à la résolution finale.
Pour utiliser cette caractéristique, vous devez d'abord sélectionner une largeur et une hauteur qui sera la résolution finale de l'image. La prévisualisation en mosaïque est activée par la spécification de la taille des blocs sur le premier passage, en utilisant Preview_Start_Size = n ou +SPn. La valeur n peut être un nombre plus grand que zéro d'une puissance de 2 (1, 2, 4, 8, 16, 32, etc.) Sinon, il est rabattu à la première puissance de deux. Cela donne la taille des carrés, en pixels. Une valeur de 16 dessinera chaque seizième pixel comme un carré de 16*16 au premier passage. Les passages suivants utiliseront la moitié de la valeur précédente (comme 8*8, 4*4 et ainsi de suite).
Le processus se poursuit jusqu'à atteindre la taille de 1*1 pixels ou la taille paramétrée avec Preview_End_Size = n ou +EPn. Cette fois encore, la valeur doit être positive et une puissance de deux, et plus petit ou égal à Preview_Start_Size. Si ce n'est pas une puissance de deux, il sera rabattu à la première disponible. Le défaut est 1. Si vous placez Preview_End_Size à une valeur plus grande que 1, la prévisualisation en mosaïque s'arrêtera avant d'atteindre 1*1, mais POV-Ray finira toujours à 1*1. Par exemple, si vous voulez un passage unique en 8*8 avant de rendre l'image finale, mettez Preview_Start_Size = 8 et Preview_End_Size = 8.
Aucune sortie fichier n'est faite avant le dernier passage en 1*1. Bien que les passages précédents aient rendu les pixels nécessaires, le passage à 1*1 retrace tous les pixels pour que l'anti-crénelage et que le canal vers le fichier de sortie fonctionne correctement. Cela fait que le rendu de la scène est 25% plus long, aussi, il est suggéré de ne pas utiliser cette prévisualisation pour les rendus finaux. Aussi, le fait que le fichier de sortie ne soit entamé que lors du dernier passage en 1*1, signifie que le rendu ne peut pas être repris après une interruption pendant la prévisualisation en mosaïque.
Output_to_File = booléen |
Active/désactive la sortie sur fichier |
+F |
Active la sortie sur fichier (utilisation du type par défaut) |
-F |
Désactive la sortie sur fichier |
Par défaut, POV-Ray écrit un fichier image sur le disque. Quand vous développez ou faites des mises au point, la prévisualisation est suffisante. Pour économiser du temps et de l'activité sur disque, vous pouvez désactiver la sortie sur fichier avec Output_to_File = off ou -F.
Le type par défaut du fichier image dépend de la plate-forme utilisée. MS-DOS et beaucoup d'autres utilisent le Targa 24 bits non compressé. Le défaut pour Windows est le 24 bits BMP. Voyez la documentation spécifique de votre plate-forme pour connaître ce type par défaut. Vous pouvez sélectionner l'un des nombreux types en utilisant Output_File_Type = x ou +Fx quand x est...
Note : le format vidange +FD obsolète et le format non traité +FR ont été supprimés car ils sont rarement utilisés et plus du tout nécessaires. PPM, PNG, et les formats spécifiques aux systèmes ont été ajoutés. Les images au format PPM ne sont pas compressées, et ont un simple texte en entête, ce qui en fait un format d'image très portable. PNG est un format d'image non seulement désigné pour remplacer GIF, mais pour améliorer ses imperfections. PNG offre la compression la plus élevée sans perte de données pour les applications de haute qualité, comme le raytracing. Le format spécifique au système dépend de la plate-forme et est expliqué par la documentation spécifique au système.
La plupart de ces formats sortent 24 bits par pixel avec 8 bits pour le rouge, le vert et le bleu. PNG et PPM vous autorisent optionnellement la spécification de la profondeur de 5 à 16 bits pour chacune des trois couleurs, donnant de 15 à 48 bits par pixel. La profondeur par défaut de tous les formats est 8 bits/couleur (16 millions de couleurs possibles), mais cela peut être changé pour les formats PNG et PPM en paramétrant Bits_Per_Color = n ou en spécifiant +FNn ou +FPn, où n est la profondeur désirée.
La spécification d'une petite profondeur de couleur comme 5 bits/couleur (32768 couleurs) peut être suffisante pour les gens avec des affichages en 8 ou 16 bits (256 ou 65536 couleurs), et améliorera la compression du fichier PNG. De plus grands bits de profondeur comme 10 ou 12 peuvent être utiles pour la vidéo ou la publication, et 16 bits/couleur est bon pour les champs de niveaux en dégradé de gris (voir section "Les champs de niveaux" pour les détails).
Le format Targa autorise aussi 8 bits de transparence alpha, tandis que le format PNG en autorise de 5 à 16 bits, selon la profondeur de la couleur. Vous pouvez activer cette option avec Output_Alpha = on ou +UA. Le défaut est -UA.
Le canal alpha stocke une valeur de transparence pour chaque pixel, de la même manière qu'est stockée la valeur rouge, verte et bleue de chaque pixel. Dans POV-Ray, quand le canal alpha est activé, toutes les aires de l'image où l'arrière-plan est partiellement ou complètement visible, seront partiellement ou totalement transparentes. Les réfractions de l'arrière-plan seront aussi transparentes, mais pas les réflexions. L'anti-crénelage est aussi pris en compte.
La philosophie du canal alpha dans POV-Ray est que la couleur de l'arrière-plan ne doit pas être présente dans la couleur de l'image quand ce canal est utilisé. Par contre, le niveau de visibilité de l'arrière-plan est conservé dans le canal alpha et *seulement* dans le canal alpha. Cela assure une vision correcte de l'image avec le canal alpha.
Voir la section "Utilisation du canal alpha" pour plus de détails sur l'utilisation de la transparence.
En plus du support de profondeurs variables, du canal alpha, et des formats en dégradés de gris, les fichiers PNG contiennent le valeur Display_Gamma, ainsi les images s'affichent correctement sur tous les systèmes (voir la section "Paramétrage du matériel d'affichage"). Le paramètre global hf_gray_16, comme décrit dans la section "HF_Gray_16" affectera aussi le type de données écrites dans le fichier de sortie.
Output_File_Name = nom |
Met le nom du fichier de sortie à nom |
+Onom |
Comme Output_File_Name = nom |
Le nom de fichier par défaut est créé avec le nom de la scène, et n'a pas besoin d'être spécifié. Le nom de la scène est le nom d'entrée sans l'adresse ni l'extension. Par exemple, si le fichier en entrée est c:\povray3\mystuff\myfile.pov, le nom de la scène est myfile. L'extension qui convient est ajoutée au nom de la scène, en se basant sur le type de fichier. Par exemple myfile.tga ou myfile.png pourront être utilisés.
Vous pouvez remplacer le nom par défaut en utilisant Output_File_Name = nom ou +Onom. Par exemple :
Input_File_Name = myinput.pov
Output_File_Name = myoutput.tga
Si un nom de fichier en sortie '-' est spécifié (un seul signe moins), alors l'image sera écrite dans la sortie standard, habituellement l'écran. La sortie peut alors être transférée vers un autre programme, ou vers un GUI.
Si le fichier spécifié est un chemin, un dossier, et non un nom de fichier, alors le nom de fichier par défaut est utilisé, mais il est écrit dans le dossier choisi. Par exemple :
Input_File_Name=myscene.pov
Output_File_Name=c:\povray3\myimages\
Cela créera le fichier c:\povray3\myimages\myscene.tga en sortie.
Les options de tampon du fichier en sortie Buffer_Output et Buffer_Size sont supprimées de POV-Ray 3.6.
Note : les options sont toujours acceptées, mais ignorées, pour une compatibilité ascndante avec les anciens fichiers INI.
L'histogramme d'utilisation du CPU est un moyen de trouver où POV-Ray dépense son temps de rendu, ainsi qu'une intéressante méthode pour générer des champs de niveaux. L'histogramme découpe l'écran en blocs rectangulaires. Au fur et à mesure que POV-Ray rend l'image, il calcule la quantité de temps passé à chaque pixel et ajoute ce temps à chaque bloc de la grille. Quand le rendu est complet, l'histogramme est un fichier qui représente le temps passé dans chaque bloc de la grille.
Toutes les versions de POV-Ray n'autorisent pas la création d'histogrammes. La sortie d'histogramme est dépendante du type de fichier et du système.
Histogram_Type = y |
Met le type d'histogramme à y (désactive si le type est 'X') |
+HTy |
Comme Histogram_Type = y |
Les types de fichiers histogramme sont les mêmes que ceux pour les fichiers image. Les types disponibles sont les suivants :
Note : +HTC ne génère pas un format Targa-24 compressé mais plutôt un fichier texte de liste des temps passés, avec des virgules de séparation, dans l'ordre gauche-droite et haut-bas. L'unité de temps est dépendante du système. Voir la documentation spécifique au système pour plus de détails sur les unités de temps dans les fichiers CSV.
Les fichiers au format Targa et PPM sont les formats champs de niveaux de POV (voir "Les champs de niveaux"), ainsi, l'histogramme est stocké sous forme de points rouges et verts, ce qui le rend inapproprié à l'affichage. Avec l'utilisation d'un champ de niveaux, les valeurs basses indiquent les temps de calcul peu élevés dans chaque bloc, et inversement.
Les images au format PNG sont en dégradés de gris, et sont utiles pour la visualisation comme pour les champs de niveaux. Dans les fichiers PNG, les zones sombres sont celles où le temps de calcul est faible, et inversement.
Histogram_Name = nom |
Met le nom de l'histogramme à nom |
+HNnom |
Comme Histogram_Name = nom |
C'est le nom du fichier où seront écrites les données de l'histogramme. Si le nom n'est pas spécifié, il sera histgram.ext par défaut, où ext est basé sur le type de fichier spécifié précedemment.
Note : quand le nom de fichier est spécifié, l'extension doit correspondre au type de fichier.
Histogram_Grid_Size = nn.mm |
Met la grille de l'histogramme à nn par mm |
+HSnn.mm |
Comme Histogram_Grid_Size = nn.mm |
La taille de la grille de l'histogramme donne le nombre de fois ou l'image est découpée dans les directions horizontales et verticales. Par exemple
povray +Isample +W640 +H480 +HTN +HS160.120 +HNhistogrm.png
découpera l'image en une grille de 160*120 blocs, chacun d'une taille de 4*4 pixels, et l'écrira dans un fichier PNG, utilisable pour la visualisation ou comme champ de niveaux. Des nombres plus petits pour la taille de la grille signifient que plus de pixels sont stockés dans chaque bloc. Avec la sortie CSV, le nombre de valeurs est identique au nombre de blocs de la grille. Pour les autres formats, la taille de l'image est identique au rendu, plutôt qu'à la taille de la grille, pour favoriser la comparaison entre les deux sorties. Si la taille de la grille n'est pas spécifiée, elle aura par défaut la taille de l'image, donc il y aura un bloc par pixel.
Note : sur les systèmes multitâches, l'histogramme ne reflétera pas exactement l'activité du rendu, car il est basé sur le temps réel et non sur le temps de calcul du CPU. Le résultat est que du temps est perdu par les tâches du système, ou autre activité en tâche de fond. Cela produira des étincelles, du bruit, sur l'histogramme. Cela peut être réduit en réduisant la taille de la grille, pour noyer ces défauts dans la moyenne des pixels.
POV-Ray lit votre fichier scène et travaille pour créer un modèle interne de votre création. Ce processus est appelé parsing. Au fur et à mesure que votre scène est analysée, d'autres fichiers peuvent être lus pendant le parcours. Cette section couvre les options concernant ce qu'il faut analyser, et où le trouver, et les hypothèses, spécifiques à la version, qu'il fait pendant l'analyse.
Declare = IDENTIFIER = FLOAT |
Déclare un identifiant avec une valeur flottante |
Vous pouvez maintenant déclarer une constante dans un fichier INI, et cette constante est disponible à l'intérieur de la scène. Puisque les déclarations du fichier INI peuvent aussi être intégrées à la ligne de commande, vous pouvez aussi la déclarer dans la ligne de commande (il n'y a aucun commutateur pour cela).
Declare = MyValue = 24
Cela est la même chose que #declare MyValue = 24; dans le fichier scène. La valeur à droite doit être une constante numérique flottante.
Une utilisation possible peut-être la désactivation de la radiosité ou des photons depuis la ligne de commande :
--dans le fichier INI / dans la ligne de commande Declare=RAD=0 --dans le fichier scène global_settings { #if (RAD) radiosity { ... } #end }
Input_File_Name = nom |
Met le nom du fichier en entrée à nom |
+Inom |
Comme Input_File_Name = nom |
Note : il ne doit pas y avoir d'espace entre +I et nom.
Vous paramétrerez probablement toujours cette option, mais si vous ne le faites pas, le nom par défaut est object.pov. Si vous ne mettez pas d'extension, .pov est pris. Sur les systèmes sensibles à la casse, .pov et .POV sont essayés. Une adresse complète peut être utilisée (sur MS-DOS +Ic:\povray3\mystuff\myfile.pov est autorisé, par exemple). En plus de la spécification du nom de la scène, il fixe le nom du fichier image.
Le nom de la scène est le nom du fichier en entrée, sans l'adresse ni l'extension. Dans l'exemple précédent, le nom est myfile. Ce nom est utilisé pour créer le nom par défaut du fichier image, et il est référencé en d'autres endroits.
Note : comme pour la version 3.5 vous pouvez maintenant spécifier un fichier POV sur la ligne de commande sans l'utilisation du commutateur +i (c.a.d. il travaille de la même façon que pour la spécification d'un fichier INI sans donner de commutateur), le fichier POV doit alors être en fin de la ligne de commande.
Si vous utilisez '-' comme nom de fichier en entrée, la lecture se fera sur l'entrée standard. Ainsi, vous pouvez pomper une scène créée par un programme pour POV-Ray et la rendre sans avoir de fichier scène.
Sous MS-DOS vous pouvez essayer cette caractéristique en tapant :
type ANYSCENE.POV | povray +I-
Include_Header = nom |
Fixe le nom du fichier inclus primaire à nom |
+HInom |
Comme Include_Header = nom |
Cette option vous permet d'inclure un fichier en tant que premier fichier inclus d'un fichier scène. Vous pouvez par exemple utiliser cette option pour systématiquement inclure une palette par défaut de fichiers inclus utilisés par toutes vos scènes.
Library_Path = chemin |
Ajoute ce chemin à la liste des chemins de bibliothèque |
+Lchemin |
Comme Library_Path = chemin |
POV-Ray cherche les fichiers dans le dossier courant. S'il ne les trouve pas, il ira les chercher dans les autres dossiers que vous aurez spécifiés. POV-Ray ne cherche pas en utilisant le 'path' du système d'exploitation. Il ne cherche que dans le dossier courant, et les dossiers spécifiés avec cette option. Par exemple, le fichier standard d'inclusion est usuellement stocké dans un dossier spécial. Vous dites à POV-Ray d'y regarder avec...
Library_Path = c:\povray3\include
Vous n'avez pas besoin de spécifier le caractère de séparation à la fin ('\' ou '/').
L'utilisation répétée de cette option n'écrase pas les précédentes. Jusqu'à vingt adresses peuvent être spécifiées. Si vous donnez deux fois la même adresse, elle n'est comptée qu'une fois. Le dossier courant sera vérifié le premier, suivi par les dossiers indiqués, dans l'ordre de leur apparition.
Version = n.n |
Met la compatibilité du langage à la version n.n |
+MVn.n |
Comme Version = n.n |
Comme le langage a beaucoup évolué entre la version 1.0 et aujourd'hui, nous avons fait de nombreux efforts pour maintenir une compatibilité aussi grande que possible avec les anciennes versions. Certaines anciennes caractéristiques peuvent encore être utilisées, d'autres non. Toutefois, certaines anciennes caractéristiques peuvent être maintenues, si vous dites à POV-Ray que c'est un ancien fichier. Dans le langage, vous pouvez utiliser #version pour changer la version en cours. Voir la section "La directive version" pour plus de détails. De plus, vous pouvez utiliser l'option Version = n.n ou le commutateur +MVn.n pour établir la première configuration. Par exemple, une rubrique introduite dans la version 2 qui était incompatible avec la version 1, est l'analyse des expressions décimales. Placer Version = 1.0 ou utiliser +MV1.0 désactive cette analyse, ainsi que de nombreux messages d'erreur, permettant à presque tous les fichiers de version 1 de fonctionner. Naturellement, le défaut de cette option est la version courante.
Note : des caractéristiques sont totalement indisponibles dans la version actuelle, MEME EN PARAMETRANT LE TYPE DE VERSION. Les détails sur ces éléments sont notés au fil de cette documentation.
Note : il n'y a pas de commutateurs + ou - pour ces options. Elles ne peuvent pas être utilisées depuis la ligne de commande. Elles ne peuvent être utilisées que dans un fichier INI.
POV-Ray vous offre l'opportunité de sortir vers le système d'exploitation en de nombreux points clés pour exécuter un autre programme ou un traitement par lot. Usuellement, c'est utilisé pour gérer les images d'une boucle d'animation, toutefois, la sortie est disponible pour toutes les scènes. La chaîne s est une ligne de texte qui est envoyée au système d'exploitation pour exécuter un programme. Par exemple
Post_Scene_Command = tga2gif -d -m myfile
utilisera l'utilitaire tga2gif avec les paramètres -D et -M pour convertir myfile.tga en myfile.gif une fois que la scène est rendue.
Note : certaines versions peuvent offrir la possibilité de bloquer de telles sorties. Par exemple, la version Windows offre une commande de menu pour désactiver ce type d'appel (ce qui est le défaut pour cette plate-forme). La raison (avec les restrictions I/O) est d'essayer de prévenir l'attaque sur votre système de fichiers INI peu fiables.
Il peut être lourd de changer le Post_Scene_Command chaque fois que vous changez de nom de scène. POV-Ray peut substituer des valeurs pour vous. Par exemple :
Post_Scene_Command = tga2gif -d -m %s
POV-Ray substituera le %s avec le nom de la scène. Le nom de la scène est le paramètre Input_File_Name ou +I, sans l'adresse complète ni l'extension. Par exemple :
Input_File_Name = c:\povray3\scenes\waycool.pov
est tronqué en nom de scène waycool, qui donne...
Post_Scene_Command = tga2gif -d -m waycool
Dans une animation, il peut être nécessaire d'avoir le nom exact du fichier avec le numéro de page inclus. Le mot %o substituera le nom de fichier en sortie. Supposons que vous voulez sauvegarder vos fichiers de sortie dans une archive zip en utilisant pkzip. Vous pouvez faire...
Post_Frame_Command = pkzip -m %s %o
Après le rendu de la page 12 de myscene.pov, POV-Ray sortira sur le système d'exploitation avec :
pkzip -m myscene mysce012.tga
Le commutateur -M dans pkzip déplace mysce012.tga dans myscene.zip et le détruit du dossier. Notez que %o inclut les numéros de pages seulement dans une boucle d'animation. Pendant le Pre_Scene_Command et le Post_Scene_Command il n'y a pas d'autre page autre que l'originale, Output_File_Name non numéroté est utilisé. Tout User_Abort_Command ou Fatal_Error_Command en dehors de la boucle donnera également une substitution %o sans numéro.
Voici la liste complète des substitutions disponibles pour une chaîne de commande.
%o |
Nom du fichier de sortie avec l'extension et le numéro de page si possible |
%s |
Nom de la scène allégée de son adresse et de l'extension |
%n |
Numéro de cette page |
%k |
Valeur de l'horloge pour cette page |
%h |
Hauteur de l'image en pixels |
%w |
Largeur de l'image en pixels |
%% |
Un simple signe %. |
Voici la séquence d'événements dans une boucle d'animation. Les scènes non animées fonctionnent de la même manière, mais sans bouclage.
Create_Ini s'il existe.Pre_Scene_Command s'il existe.Pre_Frame_Command s'il existe.Post_Frame_Command s'il existe.Post_Scene_Command s'il existe.Si l'utilisateur interrompt le processus, User_Abort_Command, s'il existe, est exécuté. L'abandon ne peut intervenir que pendant l'analyse et la partie de traçage du niveau 4b. Si une erreur fatale intervient et est notée par POV-Ray, le Fatal_Error_Command, s'il existe, est exécuté. Quelque fois une erreur non prévue, ou une erreur mémoire peut provoquer un blocage du programme, et, dans ce cas, il n'y a aucune possibilité de sortie. Les erreurs fatales peuvent intervenir à tout moment, même pendant le calcul des commutateurs ou des options des fichiers INI. Si elle intervient avant la lecture de la commande Fatal_Error_Command, alors, bien sûr, aucune sortie n'est exécutée.
Note : la totalité de la scène est analysée à chaque page. Les futures versions de POV-Ray autoriseront le maintient de certaines parties d'une page à l'autre.
Note : le Pre_Frame_Command intervient avant l'analyse de la scène. Vous pouvez utiliser cela pour appeler un utilitaire de génération de scène personnalisée avant chaque page. Cet utilitaire peut réécrire vos fichiers .pov ou .inc si nécessaire. Peut être voudrez-vous générer de nouveaux fichiers .gif ou .tga pour l'application d'images ou de champs de niveaux sur chaque page.
Note : il n'y a pas de commutateurs + ou - pour ces options. Elles ne peuvent pas être utilisées depuis la ligne de commande. Elles ne peuvent être utilisées que dans un fichier INI.
La plupart des systèmes d'exploitation autorisent le retour d'un code d'erreur aux programmes d'application, si quelque chose se passe mal. Quand POV-Ray exécute une commande vers le système, il peut utiliser le code erreur en retour, et prendre l'action appropriée. POV-Ray, lui-même, envoie de tels codes. Il envoie 0 pour un succès, 1 pour une erreur fatale et 2 pour un abandon.
Les actions sont désignées par une lettre dans les différentes options ..._Return = s. Les possibilités sont :
I |
Ignorer the code |
S |
Sauter un pas |
A |
Sauter tous les pas |
Q |
Quitter POV-Ray immédiatement |
U |
Générer un abandon dans POV-Ray |
F |
Générer une erreur fatale dans POV-Ray |
Par exemple, si votre Pre_Frame_Command appelle un programme qui génère un champ de niveaux, et que cet utilitaire échoue, alors il retournera un code différent de zéro. Vous voudrez probablement que POV-Ray soit également interrompu. L'option Pre_Frame_Return = F causera une erreur fatale dans POV-Ray si le Pre_Frame_Command renvoie un code différent de zéro.
Quelque fois, le retour d'un code différent de zéro est une bonne chose. Supposons que vous voulez tester si une page a déjà été rendue. Vous pouvez utiliser l'action S pour sauter cette page. La plupart des utilitaires rapportent une erreur si le fichier n'est pas trouvé. Par exemple, la commande...
pkzip -V myscene mysce012.tga
dit à pkzip que vous voulez voir le catalogue de myscene.zip pour le fichier mysce012.tga. Si le fichier n'existe pas dans l'archive, pkzip renvoie un code différent de zéro.
Toutefois, vous voulez faire le saut que si le fichier existe. Donc, vous avez besoin d'inverser les actions pour faire un saut sur zéro, et non sur une valeur différente de zéro. Pour cela, précédez l'action avec un signe moins (notez que '!' fonctionnera aussi, car il est utilisé comme un opérateur négatif dans de nombreux langages).
Pre_Frame_Return = S sautera si le code montre une erreur (non zéro) et procédera normalement s'il n'y en a pas (zéro). Pre_Frame_Return = -S sautera s'il n'y a pas d'erreur, et continuera s'il y en a.
Le défaut pour tous les appels est I, qui signifie que les actions en retour sont ignorées. POV-Ray procède simplement avec ce qu'il faisait avant la commande. Les autres actions dépendent du contexte. Vous pouvez vouloir vous référez à la séquence de boucle d'animation de la section précédente "La séquence de la commande d'appel". L'action pour chaque appel est la suivante.
Sur un retour de tout User_Abort_Command, si une action est provoquée...
| ...et que vous avez spécifié... | ...alors POV-Ray fera.. |
F |
alors, l'abandon devient une erreur fatale. Fait le Fatal_Error_Command, s'il existe. Sort de POV-Ray avec le code erreur 1. |
S, A, Q, ou U |
procède avec l'abandon. Sort de POV-Ray en code erreur 2. |
Sur un retour de tout Fatal_Error_Command, procède avec l'erreur fatale, quel que soit le cas. Sort de POV-Ray avec le code erreur 1.
Sur un retour de tout Pre_Scene_Command, Pre_Frame_Command, Post_Frame_Command ou Post_Scene_Command, si une action est engagée...
| ...et que vous avez spécifié... | ...alors POV-Ray fera... |
F |
...génère une erreur fatale. Fait le Fatal_Error_Command, s'il existe. Sort de POV-Ray avec un code erreur 1. |
U |
...génère un abandon. Fait le User_Abort_Command, s'il existe. Sort de POV-Ray avec un code erreur 2. |
Q |
..quitte POV-Ray immédiatement. Agit comme si POV-Ray n'avait pas réellement tourné. N'exécute pas les autres appels, (même pas un Post_Scene_Command) et sort de POV-Ray avec un code erreur 0. |
En retour d'un Pre_Scene_Command, si une action est engagée...
| ...et que vous avez spécifié... | ...alors POV-Ray fera... |
S |
...saute le rendu de toutes les pages. Agit comme si toutes les pages avaient été complétées. Ne fait aucun Pre_Frame_Command ou Post_Frame_Command. Fait le Post_Scene_Command, s'il existe. Sort de POV-Ray avec le code erreur 0. Dans le listing précédent, cela équivaut au saut du numéro 4. |
A |
...saute toutes les activités sur la scène. Fonctionne exactement comme Q. Sur le listing précédent, cela équivaut au saut au numéro 6. Agit comme si POV-Ray n'avait pas réellement tourné. N'exécute pas les autres ouvertures, (pas même un Post_Scene_Command) et sort de POV-Ray avec un code erreur 0. |
En retour d'un Pre_Frame_Command, si une action est engagée...
| ...et que vous avez spécifié... | ...alors POV-Ray fera... |
S |
...ne saute que cette page. Agit comme si cette page n'avait pas existé. Ne fait pas le Post_Frame_Command. Procède avec la page suivante. Sur le listing précédent, cela signifie un saut de 4b et 4c, mais boucle si nécessaire en 4d. |
A |
...saute le rendu de cette page, et de toutes les suivantes. Agit comme si les pages avaient été complétées normalement. Ne fait aucun Post_Frame_Command. Fait le Post_Scene_Command, s'il existe. Sort de POV-Ray avec le code erreur 0. Sur le listing précédent, cela équivaut le saut de ce qui reste de 4 et procède au 5. |
En retour de Post_Frame_Command, si une action est engagée...
| ...et que vous avez spécifié... | ...alors POV-Ray fera... |
S ou A |
...saute le rendu de toutes les pages. Agit comme si elles étaient toutes rendues normalement. Ne fait aucun Post_Frame_Command. Fait le Post_Scene_Command, s'il existe. Sort de POV-Ray avec le code erreur 0. Sur le listing précédent, cela équivaut au saut du reste de 4, et procède au 5. |
En retour sur tout Post_Scene_Command, si une action est engagée et si vous avez spécifié S ou A, alors ne fait rien, comme le I.
La sortie texte est une voie d'information importante sur ce qui va se faire, se fait ou a été fait dans POV-Ray. Le programme découpe ses messages en 7 canaux différents. Certaines versions de POV-Ray colorent ces différents types de textes. Certaines versions vous autorisent la pagination arrière sur plusieurs pages de messages. Toutes vous autorisent l'activation ou la désactivation de ces canaux, ou leur copie directe dans un ou plusieurs fichiers. Cette section détaille les options qui vous donnent le contrôle sur les sorties de texte.
Il y a sept canaux distincts pour les sorties texte. Dans certaines versions, chaque canal a sa couleur. Le texte de ces canaux est affiché chaque fois que c'est approprié, aussi c'est souvent un mélange des différents canaux. La distinction est importante seulement si vous choisissez de désactiver certains canaux, ou de les diriger vers des fichiers texte. Sur certains systèmes, vous pouvez revoir séparément les différents canaux, dans leur propre tampon paginable.
Voici une description de chaque canal.
Banner: il affiche la bannière de signature du programme, le copyright, la liste des contributeurs, et quelques écrans d'aide. Il ne peut pas être désactivé, ou dirigé, car la plupart de ce texte est affiché avant toute lecture d'option ou de commutateur. C'est pourquoi vous ne pouvez pas utiliser d'option ou de commutateur pour le contrôler. Il y a des commutateurs qui affichent les écrans d'aide. Ils sont vus dans la section "Les commutateurs de l'écran d'aide".
Debug: il affiche les messages de correction. Il était, à l'origine, désigné pour les développeurs, mais il peut, ainsi que d'autres canaux, être utilisé par les utilisateurs pour afficher des messages provenant de leurs fichiers scène. Voir la section "Les canaux de message en texte" pour plus de détails. Ce canal peut être désactivé et/ou redirigé vers un fichier texte.
Fatal: il affiche les messages d'erreur fatale. Après cet affichage, POV-Ray s'arrêtera. Quand c'est une erreur sur l'analyse de la scène, vous pouvez voir les lignes de la scène qui contiennent l'erreur. Ce canal peut être désactivé et/ou redirigé vers un fichier texte.
Render: il affiche des informations sur les options choisies pour rendre la scène. Il inclut des rappels sur toutes les options majeures comme le nom de la scène, la résolution, les paramètres d'animation, d'anti-crénelage et autres. Ce canal peut être désactivé et/ou redirigé vers un fichier texte.
Statistics: il affiche les statistiques après le rendu d'une page. Il inclut des informations sur le nombre de rayons tracés, le temps de travail et d'autres informations. Il peut être désactivé et/ou redirigé vers un fichier texte.
Status: ce canal affiche les informations au fil du travail, indiquant ce que POV-Ray fait. Sur certains systèmes, ces messages sont diffusés sur la ligne de statut, au bas de l'écran. Il ne peut pas être redirigé, car cela n'est généralement pas nécessaire. Le texte de l'option Verbose (ou commutateur +V) est sorti à ce niveau, ainsi une partie de ce canal peut être désactivée.
Warning: ce canal affiche les messages d'alerte pendant l'analyse de la scène, et d'autres alertes. Malgré les alarmes, POV-Ray peut continuer à rendre la scène. Vous serez informé si POV-Ray a pris des décisions sur votre scène pour pouvoir continuer. En général, chaque fois que vous voyez un message d'alerte, vous devez savoir que les futures versions de POV-Ray n'autoriseront pas ces actions alarmantes. Donc vous devez essayer d'éliminer ces messages pour que votre scène puisse être compatible avec les futures versions. Ce canal peut être désactivé et/ou redirigé vers un fichier texte.
Vous pouvez supprimer la sortie en console des canaux de textes pour les messages de correction, d'erreurs fatales, de rendu, de statistiques et d'alerte. Par exemple l'option Statistic_Console = off ou le commutateur -GS peuvent désactiver le canal de statistiques. En utilisant on ou +GS vous pouvez le réactiver. Vous pouvez également tous les changer de statut avec l'option All_Console ou le commutateur +GA.
Note : ces options ont un effet immédiat. Evidemment, tout message d'erreur ou d'alerte qui peut intervenir avant la lecture de l'option, n'est pas affecté.
Vous pouvez diriger une copie des canaux vers un fichier, pour les canaux des corrections, des erreurs fatales, des informations de rendu, des statistiques ou des alertes. Par exemple, l'option Statistic_File = s ou le commutateur +GSs. Si la phrase s est vraie, ou toute autre phrase vraie, ce canal est dirigé vers un fichier avec un nom par défaut. Les valeurs vraies valides sont true, yes, on ou 1. Si la valeur est fausse, le détournement est désactivé. Les valeurs fausses valides sont false, no, off ou 0. Toute autre phrase active le détournement, et la phrase est interprétée comme un nom de fichier.
Similairement, vous pouvez spécifier une phrase vraie, fausse ou un nom de fichier derrière un commutateur comme +GSnom. Vous pouvez également détourner les cinq canaux vers le même fichier en utilisant l'option All_File ou le commutateur +GA. Vous ne pouvez pas spécifier le même fichier pour plus d'un canal, car POV-Ray échouera en tentant d'ouvrir ou de fermer le fichier une seconde fois.
Note : ces options ont un effet immédiat. Naturellement, tout message d'erreur ou d'alerte qui est occasionné avant la lecture de l'option n'est pas affecté.
Warning_Level = n |
Vous permet de désactiver des niveaux d'alarmes. |
+WLn |
Comme Warning_Level = n |
Le niveau 0 désactive toutes les alarmes. Le niveau 5 désactive toutes les alarmes concernant la version de langage. Le défaut est le niveau 10 et il active toutes les alarmes. Tous les autres niveaux sont réservés et ne doivent pas être spécifiés.
+H ou +? |
Montre l'écran d'aide 0 si c'est le seul commutateur |
Note : il n'y a pas d'équivalent pour les fichiers INI.
Après l'affichage des écrans d'aide, POV-Ray s'arrête. Parce que certains systèmes d'exploitation ne permettent pas le passage d'un point d'interrogation dans une ligne de commande, vous pouvez aussi utiliser le commutateur +H.
Note : ce commutateur est aussi utilisé pour donner la hauteur d'une image en pixels. Par conséquent, le commutateur +H est seulement interprété comme une demande d'aide, s'il est le seul sur la ligne de commande.
Les interfaces graphiques des versions de POV-Ray comme celles pour Mac ou Windows ont une aide en ligne.
Il y a plus d'une façon de tracer un rayon. Quelque fois, il y a une contradiction entre qualité et vitesse. Quelque fois, des options destinées à accélérer le traçage, ne font que le ralentir. Cette section couvre les options qui disent à POV-Ray comment tracer les rayons, avec la vitesse et la qualité appropriées.
Quality = n |
Met la valeur de la qualité à n (0 <= n <= 11) |
+Qn |
Comme Quality = n |
L'option Quality = n ou le commutateur +Qn vous autorisent à spécifier la qualité de rendu de l'image. Vous pouvez choisir de baisser la qualité pour les tests, et de la rehausser pour le tracé final. Les ajustements de la qualité sont faits par élimination de quelques calculs normalement effectués. Par exemple, les ombres ne sont pas rendues en dessous de 4. La réflexion et la réfraction ne sont pas calculées en dessous de 8. Les valeurs correspondent aux niveaux de qualité suivants :
0, 1 |
Montre seulement les couleurs rapides. N'utilise que l'illumination ambiante maximale. Les couleurs rapides ne sont utilisées que jusqu'à 5 |
2, 3 |
Montre les lumières diffuses et ambiantes |
4 |
Rends les ombres, mais pas les lumières étendues |
5 |
Rends les ombres et les lumières étendues |
6, 7 |
Calcule les modèles de texture, les photons |
8 |
Calcule les rayons réfléchis, réfractés et transmis |
9, 10, 11 |
Calcule le média et la radiosité |
Le défaut est 9.
POV-Ray utilise une variété de subdivisions spatiales pour accélérer les tests d'intersection des rayons avec les objets. Le premier système utilise une hiérarchie de boîtes englobantes entrelacées. Ce système compartimente tous les objets finis d'une scène dans des boîtes invisibles, qui sont arrangées dans une hiérarchie arborescente. Avant de tester les objets dans les boîtes, l'arbre est descendu, et seulement ces objets, dont les boîtes sont touchées, sont testés. Cela peut améliorer grandement la vitesse de rendu. Toutefois, pour les scènes avec peu d'objets, le gain des boîtes encapsulantes ne vaut pas cet effort. L'option Bounding = off ou le commutateur -MB vous permet de désactiver cette caractéristique. La valeur par défaut est l'activation.
Le Bounding_Threshold = n ou +MBn vous autorisent la définition du nombre minimum d'objets nécessaires pour lancer l'encapsulage. Le défaut est +MB25 qui signifie que si votre scène à moins de 25 objets, POV-Ray désactivera automatiquement l'encapsulage, parce que le gain n'est pas suffisant. Généralement, c'est une bonne idée de prendre une valeur plus petite comme +MB5.
En plus, POV-Ray utilise des systèmes connus comme les tampons de perspective, et les tampons de lumière, pour accélérer les choses. Ces systèmes ne fonctionnent que quand l'encapsulage est actif, et quand il y a un nombre suffisant d'objets pour atteindre le seuil d'activation. Le tampon de perspective est créé par projection de la hiérarchie des boîtes encapsulantes sur l'écran, déterminant les aires rectangulaires qui sont couvertes par chaque élément. Seulement ces objets dont les rectangles englobent un pixel donné sont testés par le rayon. Le tampon de perspective ne peut être utilisé que par les caméras de perspective ou orthographique, car elles proposent une vue fixée et une projection raisonnable (c'est-à-dire que les lignes droites doivent rester droites après la projection).
Les tampons de lumière sont créés par enfermement de chaque source de lumière dans une boîte imaginaire, et projection de la hiérarchie des boîtes sur chacune de leurs six faces. Puisque cela compte sur une source de lumière fixée, cela ne sera pas utilisé avec des aires de lumière.
Les rayons réfléchis et transmis ne bénéficient pas des tampons de perspective ou de lumière.
Les paramètres par défaut sont Vista_Buffer = on ou +UV et Light_Buffer = on ou +UL. L'option pour désactiver ces caractéristiques est disponible pour les cas inutiles, et comme protection vis-à-vis d'erreurs imprévues qui peuvent exister dans ces systèmes d'encapsulage.
En général, tout objet fini, et la plupart des types de CSG d'objets finis peuvent correctement réagir à ce système d'encapsulage. Les blobs et les réseaux utilisent un système supplémentaire d'encapsulage interne. Ces systèmes ne sont pas affectés par les commutateurs précédents. Ils peuvent être désactivés en utilisant la syntaxe appropriée dans le fichier scène (voir "Le blob" et "Le réseau" pour les détails).
Les objets texte sont découpés en lettres individuelles, qui sont encapsulées en utilisant la hiérarchie des boîtes encapsulantes. Quelques CSG combinant des objets finis et infinis sont également automatiquement encapsulés. Le résultat final est que vous avez rarement besoin d'ajouter des objets encapsulants manuels, comme c'était nécessaire dans les précédentes versions de POV-Ray, sauf si vous utilisez de nombreux objets infinis.
Les versions précédentes de POV-Ray n'avaient pas de système d'encapsulage automatique, ou de sous-division spatiale pour accélérer les tests de rayon. Les utilisateurs devaient créer manuellement des boîtes délimitantes. POV-Ray 3.0 a un encapsulage automatique plus sophistiqué que les anciennes versions. Dans la plupart des cas, l'encapsulage manuel est plus lent que l'automatique. Donc POV-Ray enlève les capsules manuelles quand il sait que ça peut aider. Dans quelques rares cas, vous voudrez les garder. Certaines anciennes scènes ont utilisé l'encapsulage de manière incorrecte, quand elles auraient dû prendre le découpage. Si POV-Ray enlève les encapsuleurs dans ces scènes, l'image ne paraîtra pas bonne. Pour désactiver la suppression des encapsuleurs manuels, vous devez spécifier Remove_Bounds = off ou -UR. Le défaut est Remove_Bounds = on.
Un sujet où le jury débat encore est le découpage des unions délimitées manuellement. Les unions non délimitées sont découpées en leurs éléments, ainsi l'encapsulage automatique fonctionne mieux. La plupart des utilisateurs ne délimitent pas les unions car ils savent que cela est plus lent. Si vous le faites, nous présumons que vous le voulez vraiment. Pour respecter cette raison, nous n'enlevons pas de tels encapsuleurs. Si vous voulez enlever les encapsuleurs manuels d'unions, vous devez le spécifier avec Split_Unions = on ou +SU. Le défaut est Split_Unions = off.
Le raytracing est en fait un processus d'échantillonnage digital de l'image avec, typiquement, un test par pixel. Un tel procédé peut introduire des erreurs. Cela inclut une apparence ébréchée, en escalier, des courbes, une apparence brisée des lignes fines, des moires d'interférence et la perte de détails ou l'oubli d'objets qui sont si petits qu'ils résident entre deux pixels. Cet effet est appelé le crénelage.
L'anti-crénelage est toute technique utilisée pour aider à l'élimination de telles erreurs, ou pour réduire l'impact négatif qu'elles ont sur l'image. En général, l'anti-crénelage adouci l'image. L'option Antialias = on ou le commutateur +A activent le système d'anti-crénelage de POV-Ray.
Quand l'anti-crénelage est activé, POV-Ray tente de réduire les erreurs en lançant plus d'un rayon sur chaque pixel, et en faisant la moyenne des résultats pour déterminer la couleur apparente de ce pixel. Cette technique est appelée le suréchantillonnage, et peut améliorer l'apparence de l'image finale, mais il augmente de manière dramatique le temps de rendu, puisque de nombreux calculs supplémentaires sont nécessaires.
POV-Ray vous donne l'option d'utiliser l'une des deux méthodes de suréchantillonnage. L'option Sampling_Method = n ou le commutateur +AMn sélectionnent la méthode 1 ou 2. La sélection de l'une de ces méthodes n'active pas l'anti-crénelage. Cela doit être fait en utilisant le commutateur de la ligne de commande +A ou l'option Antialias = on.
La méthode 1 est adaptative, non récursive. Elle est adaptative car tous les pixels ne sont pas suréchantillonnés. La méthode 2 est adaptative et récursive. Elle est récursive car le pixel est sous divisé, de manière répétitive, récursivement. La nature de l'adaptation de la méthode 2 est la profondeur de la récursivité.
Dans la méthode non récursive par défaut (+AM1), POV-Ray trace initialement un rayon par pixel. Si sa couleur diffère de ses voisins (de gauche ou du dessus) par plus d'une valeur seuil, alors un nombre fixe et donné de rayons sont relancés. Le seuil par défaut est 0.3, mais il peut être changé en utilisant Antialias_Threshold = n.n. Quand les commutateurs sont utilisés, le seuil peut suivre optionnellement le +A. Par exemple +A0.1 active l'anti-crénelage avec un seuil de 0.1.
La comparaison pour le seuil est calculée de la manière suivante. Si r1, g1, b1 et r2, g2, b2 sont les composants rgb de deux pixels, la différence entre eux est calculée par :
diff = abs(r1-r2) + abs(g1-g2) + abs(b1-b2)
Si la différence est plus grande que le seuil, alors les deux pixels sont suréchantillonnés. Les valeurs rgb sont dans la fourchette de 0.0 à 1.0, donc la plus grande différence entre deux pixels est de 3.0. Si le seuil est à 0.0, alors tous les pixels sont suréchantillonnés. S'il est de 3.0, aucun anti-crénelage n'est fait. Des seuils bas signifient plus d'anti-crénelage, et moins de vitesse. N'utilisez l'anti-crénelage que pour votre image finale. Plus le contraste est bas, plus le seuil doit être bas. Les images avec un fort contraste peuvent aboutir avec des valeurs de tolérance plus hautes. Les bonnes valeurs semblent être entre 0.2 et 0.4.
Quand on utilise la méthode non récursive, le nombre par défaut de suréchantillonnage est de 9 par pixel, sur une grille de 3*3. L'option Antialias_Depth = n ou le commutateur +Rn contrôlent le nombre de lignes et de colonnes d'échantillonnage. Par exemple, +R4 vous donnera 4*4=16 échantillons par pixel.
La seconde méthode, récursive, commence par tracer quatre rayons aux coins de chaque pixel. Si la couleur résultante diffère de plus du seuil, des échantillons supplémentaires sont pris. Cela est fait récursivement, c'est à dire que le pixel est subdivisé en quatre sous-éléments, qui sont testés et tracés séparément pour une subdivision supplémentaire. L'avantage de cette méthode est de réduire le nombre de rayons à tracer. Les échantillons communs entre pixels et sous-pixels adjacents sont stockés et réutilisés pour éviter de les retracer. Le caractère récursif de cette méthode fait que le suréchantillonnage se concentre sur les pixels qui ont le plus de chance de demander un suréchantillonnage (voir la figure dessous).

Le nombre maximum de subdivisions est donné par Antialias_Depth = n ou +Rn. Cela est différent de la méthode non récursive, où le nombre total d'échantillons est donné. Un nombre maximum de n subdivisions abouti à un nombre maximum d'échantillons par pixel, qui est donné dans la table ci-dessous.
+Rn |
Nombre d'échantillons par pixel suréchantillonné pour la méthode non récursive +AM1 |
Nombre maximum d'échantillons par pixel suréchantillonné pour la méthode récursive +AM2 |
1 |
1 | 9 |
2 |
4 | 25 |
3 |
9 | 81 |
4 |
16 | 289 |
5 |
25 | 1089 |
6 |
36 | 4225 |
7 |
49 | 16641 |
8 |
64 | 66049 |
9 |
81 | 263169 |
Note : le nombre maximum d'échantillons, dans le cas adaptatif, est toujours énormément plus grand pour un pixel donné. Si la méthode récursive est utilisée, sans anti-crénelage, chaque pixel sera la moyenne des rayons tracés à ses coins. Dans la plupart des cas, un niveau de récursivité de trois est suffisant.
Une autre méthode pour réduire les artefacts de crénelage est d'introduire du bruit dans le processus d'échantillonnage. C'est le brouillage et il fonctionne, car l'œil humain est plus oublieux du bruit que des motifs réguliers. Le lieu du suréchantillonnage est un peu brouillé ou agité quand l'anti-crénelage est utilisé. Le brouillage est utilisé par défaut, mais il peut être désactivé avec Jitter = off ou -J. Le niveau de brouillage peut être paramétré avec l'option Jitter_Amount = n.n. Quand on utilise les commutateurs, l'étendue du brouillage peut être spécifiée après le +Jn.n. Par exemple +J0.5 utilise la moitié du brouillage normal. Le défaut est 1.0, et c'est le maximum de brouillage pour lequel on s'assure que les suréchantillonnages restent dans le pixel d'origine.
Note : le bruit du brouillage est aléatoire et non reproductible, aussi vous devez l'éviter dans les séquences animées, sinon, les pixels anti-crénelés varieront et papilloteront fastidieusement entre chaque page.
Si l'anti-crénelage n'est pas utilisé, un échantillon par pixel sera pris, sans se préoccuper de la méthode de suréchantillonnage.
| 3.2.2 La caméra |