Page d'Accueil
- Tutoriels POV-Ray
Introduction POV-Ray
Table des matières - INDEX
1. Utiliser POV-Ray:
"Insert Menu Add-on".
2. Bases
Comment écrire le texte
xyz – Coordonnées,
virgule flotante et vecteurs
3. Structure d'une scène
Exemple de base.
4. La tête d'une scène
Fichiers #include,
camera, light_source.
5. Objets géométriques de base
sphere, box, cylinder,
cone, torus, plane
et autres formes
6. Transformations
échelle, rotation,
translation et autres.
CSG: union,
difference, intersection.
7. Couleurs et surfaces
texture, pigment, normal, finish
8. #declare, #local #macro.
Variables, objets flexibles.
9. #while - Boucles
Exemples de base.,
>10. #include - fichiers include
objets réutilisables.
11. Efficacité,
vitesse, flexibilité,
travailer modulaire.
Adapter de 3.1 à 3.5;3.6
Adattare di 3.5;3.6 a 3.7
POV-Ray + Windows Vista.
- Insert Menu Add-on
& Téléchargement
|
#include "MyObject.inc"
- Ready Made Objects for Multiple Usage!
Objets, une fois déjà construits, on peut définer comme un objet prêt à l'usage
dans un fichier include personnel.
Avec cette méthode on peut utiliser objets dans chaque autre scène plus tarde sans écrire ou copier
toute la définition !
Diviser une scène grande en composantes plus petites par fichiers include est une méthode élémentaire de travailer modulairement -
sans cela il est presque impossible de venir à bout d'un projet vraiment grand et complexe.
|
Objet d'exemple :
Nous définissons premièrement un objet 'Column_1'
comme une macro:
//----------------- macro Column_1(...)
#macro Column_1( H_C, // column height
R_B, // base radius
R_min,// border radius
T_S, // top scale
) //---------------------
union{
cone{ <0,0,0>,R_B,<0,H_C,0>,R_B*T_S}
torus{ R_B,R_min translate<0,R_min,0>}
torus{ R_B*T_S,R_min*T_S
translate<0,H_C-R_min*T_S,0>}
}// end Column
#end //------------------- end of macro |
Créer un fichier include :
Pour un fichier d'un objet individuel est
recommandé de choisir le nome du fichier include
conforme au nome du objet !
Pour le choix de nomes voir mes notes à "#declare"!
Ici nous faissons un fichier 'Column_1.inc' :
// POV-Ray include file "Column_1.inc"
//-------------------------------------
#ifndef( Column_1_Inc_Temp)
#declare Column_1_Inc_Temp = version;
#version 3.6;
//-------------------------------------
#macro Column_1( H_C, // column height
R_B, // base radius
R_min,// border radius
T_S, // top scale
) //--------------------
//-------------------------------------
union{
cone{ <0,0,0>,R_B,<0,H_C,0>,R_B*T_S}
torus{ R_B,R_min translate<0,R_min,0>}
torus{ R_B*T_S,R_min*T_S
translate<0,H_C-R_min*T_S,0>}
}// end Column
#end// ------------------- end of macro
//-------------------------------------
#version Column_1_Inc_Temp;
#end
// ---------------- end of include file |
Ce fichier on doit être sauvegardé dans la même registre come le fichier de la scène ou
dans un registre de fichiers include disponible in the dans le chemin de fichiers include (Library_Path) de POV-Ray.
|
La macro Column_1( ... ) appelée par :
object{Column_1(3.5, // height
0.5, // base r
0.06,// border r
0.75,// top scale
) //---------------
texture{
pigment{color rgb<1,0.9,0.8>}
normal{ bumps 0.5 scale 0.01}
finish{ phong 0.1 }
} // end texture
translate<0,0,0>
} //-------------------------- |
Note: Les parties en rouge du texte de fichier include sont ajutées pour éviter
que l'objet est déclaré plusieurs reprises si le texte est déja inséré.
Et ce texte change la version de
POV-Ray utilisée retour à la version dans laquelle le text fu écrit, aussi si nous avons in jour
une version plus nouvelle. |
Note: Si nous insérons un fichier include avec la commande #include "MyObject.inc",
le texte de ce fichier sera inséré par POV-Ray mot pour mot
justement au lieu de la commande pendant le parsing du fichier.
Cela doit être toujours avant le lieu où nous utilisons le objet de ce fichier include.
Si le texte de un fichier include defini un objet complet, que nous voulons utiliser plusieurs fois dans une scène,
nous devons insérer le fichier include seulement une fois! |
|
Appeler un objet d'un fichier include :
Ici nous insérons 'Column_1.inc': ( seulement une fois ! )
//---------------------------------------
#declare Column_Texture =
texture{ pigment{ color rgb<1,0.95,0.8>}
normal { bumps 0.5 scale 0.01}
finish { phong 0.1 }
} // end of texture
//-------------------------------------//
#include "Column_1.inc"
//-------------------------------------//
union{ //--------------------------------
#local Nr = 0; // start
#local EndNr = 10; // end
#while (Nr< EndNr)
union{ // inner union
object{ Column_1(3.5, 0.5, 0.06, 0.75)
translate<-2,0,0>}
object{ Column_1(3.5, 0.5, 0.06, 0.75)
translate< 2,0,0>}
translate<0,0,Nr*2.5>
} // end inner union
#local Nr = Nr + 1; // next Nr
#end // --------------- end of loop
texture{ Column_Texture }
rotate<0,0,0>
translate<0,0,0>
} // end of union ----------------------- |
|
Files de colonnes
Description de cette scène pour POV-Ray :
Fichier de la scène: Column_1_Row.pov
Fichier include: Column_1.inc
|
Avec ce mécanisme on peut aussi utiliser pour sauvegarder
les textures et les couleurs spéciales et personnelles dans un fichier nommé "Mes_texures.inc"!
Un dépôt de meubles ou / et une collection des avions ou des vaisseau spatial
on peut sauvegarder aussi en cette manière !!!
|
|