vers l'index général de l'aide

#include

objectif

Permettre l'inclusion du contenu d'un autre fichier (contenant des intructions dans le langage de POV-Ray) dans le script courant.

syntaxe

À n'importe quel endroit du script, y compris, si nécessaire, dans les tréfonds des plus obscures structures :

#include "nom_du_fichier.inc"

Le fichier peut avoir n'importe quelle extension, mais ".inc" est une convention ultra-répandue dans le monde de POV-Ray, et officiellement préconisée. POV-Ray est livré avec de nombreux fichiers ".inc" concernant surtout les textures : "colors.inc", "woods.inc", "metals.inc",...

fonctionnement

Il faut considérer #include comme une simple commande de copier-coller. Tout se passe comme si vous aviez tapé le contenu du fichier à l'endroit où vous invoquez #include.

En conséquence, si vous faites référence à un élément défini dans un fichier externe, il est impératif que ce fichier ait été inclus AVANT cette référence !

Les variables locales (déclarées par #local) ont un champ d'action limité au fichier dans lequel elles sont déclarées et manipulées.

stratégie

Bien entendu, vous pouvez organiser vos scripts comme vous l'entendez, mais il est bon de prendre soin de rendre les choses aussi claires que possible. Si vous travaillez sur une scène nommée "chateau.pov", ce serait une bonne idée de regrouper toutes les définitions de textures dans un fichier nommé "chateau_tex.inc", toutes les définitions d'objets dans "chateau_obj.inc", et toutes les macros dans "chateau_mac.inc" ou encore "chateau.mcr". Alors, le script principal commencerait logiquement par :

#include "colors.inc"
#include "chateau_tex.inc"
#include "chateau.mcr"
#include "chateau_obj.inc"

remarque

Avant l'apparition de POV-Ray 3.1 et ses macros, il était courant d'utiliser des fichiers ".inc" s'appelant eux-mêmes, pour créer des structures récursives (arbres..), où des objets paramétrables. Certains, comme Chris Colefax, ont excellé dans l'écriture de scripts pouvant faire des choses dont on aurait même pas osé rêver. Les macros ont rendu ce procédé obsolète, et la plupart de ces scripts ont été, depuis, convertis en macros, plus souples et plus rapides.

Rédacteur: Fabien Mosen