Projet

Général

Profil

Les fichiers CSCN sont au format texte et sont donc modifiables assez facilement (pour peu que l'on comprenne quelque chose à la syntaxe :P)

Types de données

Les types de données qui apparaissent dans les fichiers de scène sont les suivants :
  • entier : un entier tout con.
  • réel : un nombre réel, le séparateur des décimales est le point ( . ).
  • 2, 3, 4 entiers : 2, 3 ou 4 entiers, séparés par des virgules ( , ) ou des espaces ( ).
  • 2, 3, 4 réels : 2, 3 ou 4 réels, séparés par des virgules ( , ) ou des espaces ( ).
  • taille : 2 entiers supérieurs ou égaux à 0.
  • matrice de 2x2, 3x3, 4x4 réels : 2, 3 ou 4 groupes séparés par des points virgules ( ; ) de 2, 3 ou 4 réels séparés par des virgules ( , ) ou des espaces ( ).
  • couleur : les 4 composantes (RGBA) d'une couleur, exprimées en réels compris entre 0.0 et 1.0.
  • valeur : chaîne de caractère représentant une valeur prédéfinie.
  • nom : chaîne de caractère, entourée de guillemets ( " ).
  • fichier : chaîne de caractères représentant un chemin d'accès à un fichier, entourée de guillemets ( " ).
  • dossier : chaîne de caractères représentant un chemin d'accès à un dossier, entourée de guillemets ( " ).

Sections

Description

Le fichier est décomposé en sections décrites de la manière suivante :

[type_section] [nom_section]
{
    // informations de la section
}

Exemple:
light "Light0" 
{
    type directional
    colour 1.0 1.0 1.0
    intensity 0.0 0.8 1.0
}

Certaines sections peuvent avoir des sous-sections :

material "Bronze" 
{
    pass
    {
        ambient 0.2125 0.1275 0.054 1.0
        diffuse 0.714 0.4284 0.12144 1.0
        emissive 0.0 0.0 0.0 1.0
        specular 0.393548 0.271906 0.166721 1.0
        shininess 25.6
    }
}

Liste des sections

Les différentes sections possibles sont les suivantes :

  1. 'sampler'
    Permet de définir un objet d'échantillonnage de texture.
  2. 'material'
    Permet la définition d'un matériau.
  3. 'font'
    Permet la définition d'une police utilisée dans les incrustations texte.
  4. 'window'
    Permet la définition d'une fenêtre de rendu.
  5. 'panel_overlay'
    Permet de définir une incrustation globale de type panneau simple.
  6. 'border_panel_overlay'
    Permet de définir une incrustation globale de type panneau avec bordure.
  7. 'text_overlay'
    Permet de définir une incrustation globale de type panneau avec texte.
  8. 'scene'
    Permet de définir une scène.

A - Section 'sampler'

  1. 'min_filter' : valeur
    Valeur pour la fonction de minification.
  2. 'mag_filter' : valeur
    Valeur pour la fonction de magnification.
  3. 'min_lod' : réel
    Définit la valeur minimale du niveau de détail.
  4. 'max_lod' : réel
    Définit la valeur maximale du niveau de détail.
  5. 'lod_bias' : réel
    Définit le MIP-Level.
  6. 'u_wrap_mode' : valeur
    Définit le paramètre d'enveloppement de la texture en U. Peut prendre les valeurs suivantes :
    . repeat : La texture est répétée.
    . mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente.
    . clamp_to_border : La texture est étirée, la couleur des arêtes au bord de la texture est celle du bord de la texture.
    . clamp_to_edge : La texture est étirée, la couleur des arêtes au bord de la texture est un mélange de celle du bord de la texture et de celle du bord.
  7. 'v_wrap_mode' : valeur
    Définit le paramètre d'enveloppement de la texture en V. Peut prendre les valeurs suivantes :
    . repeat : La texture est répétée.
    . mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente.
    . clamp_to_border : La texture est étirée, la couleur des arêtes au bord de la texture est celle du bord de la texture.
    . clamp_to_edge : La texture est étirée, la couleur des arêtes au bord de la texture est un mélange de celle du bord de la texture et de celle du bord.
  8. 'w_wrap_mode' : valeur
    Définit le paramètre d'enveloppement de la texture en W. Peut prendre les valeurs suivantes :
    . repeat : La texture est répétée.
    . mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente.
    . clamp_to_border : La texture est étirée, la couleur des arêtes au bord de la texture est celle du bord de la texture.
    . clamp_to_edge : La texture est étirée, la couleur des arêtes au bord de la texture est un mélange de celle du bord de la texture et de celle du bord.
  9. 'border_colour' : couleur
    Définit la couleur des bords non texturés.
  10. 'max_anisotropy' : réel
    Définit le degré maximal d'anisotropie.

B - Section 'material'

Les matériaux pouvant être multi-passes, il est possible de définir plusieurs sous-sections de passe.

  1. 'pass' : nouvelle section
    Commence un nouvelle section décrivant les propriétés de la passe.

C - Section 'pass'

  1. 'ambient' : couleur
    Définit la couleur ambiante de cette passe.
  2. 'diffuse' : couleur
    Définit la couleur diffuse de cette passe.
  3. 'emissive' : couleur
    Définit la couleur émise par cette passe.
  4. 'specular' : couleur
    Définit la couleur réfléchie par cette passe.
  5. 'shininess' : 1 réel
    Définit la façon dont la lumière est réfléchie.
  6. 'alpha' : 1 réel
    Définit la valeur d'alpha des couleurs du material.
  7. 'two_sided' : booléen
    Définit si le material est double face (true) ou pas (false).
  8. 'blend_func' : nom-src, nom-dst
    Nom des 2 fonctions (source et destination) utilisées pour l'alpha blending, au choix parmi :
    .zero : la cible (src ou dst) ne sera pas considérée pour l'alpha blending.
    .one : la cible (src ou dst) sera la seule visible.
    .src_colour : la couleur de la cible sera la couleur de la source (dst seulement).
    .inv_src_colour : la couleur de la cible sera 1 moins la couleur de la source (dst seulement).
    .dst_colour : la couleur de la cible sera la couleur de la destination (src seulement).
    .inv_dst_colour : la couleur de la cible sera 1 moins la couleur de la destination (src seulement).
    .src_alpha : l'alpha de la cible sera l'alpha de la source (dst seulement).
    .inv_src_alpha : l'alpha de la cible sera 1 moins l'alpha de la source (dst seulement).
    .dst_alpha : l'alpha de la cible sera l'alpha de la destination (src seulement).
    .inv_dst_alpha : l'alpha de la cible sera 1 moins l'alpha de la destination (src seulement).
    .constant :
    .inv_constant :
    .src_alpha_sat : met l'alpha de la source à 1.
    .src1_colour :
    .inv_src1_colour :
    .src1_alpha :
    .inv_src1_alpha :
  9. 'texture_unit' : nouvelle section
    Définit une nouvelle section concernant une texture.
  10. 'alpha_blend_mode' : valeur
    Nom du mode de mélange alpha, au choix parmi :
    . none : Pas de mélange alpha.
    . additive : Les alphas de la source et de la destination s'additionnent.
    . multiplicative : Les alphas de la source et de la destination se multiplient.
  11. 'colour_blend_mode' : valeur
    Nom du mode de mélange couleur, au choix parmi :
    . none : Pas de mélange couleur.
    . additive : Les couleurs de la source et de la destination s'additionnent.
    . multiplicative : Les couleurs de la source et de la destination se multiplient.

D - Section 'texture_unit'

  1. 'image' : fichier
    Définit le chemin où trouver l'image.
  2. 'render_target' : nouvelle section
    Permet de définir la texture en cible de rendu et de configurer cette cible.
  3. 'colour' : couleur
    Définit la couleur de base.
  4. 'map_type' : valeur
    Définit la façon dont l'image est appliquée sur l'objet :
    . none : aucun effet particulier.
    . reflexion : reflexion mapping.
    . sphere : sphere mapping.
  5. 'alpha_func' : func : valeur ref-val : réel
    Définit la fonction de gestion de l'alpha rejection pour la texture.
    Le second paramètre est la valeur de référence pour les calculs de transparence.
    Les valeurs possibles pour le premier paramètre sont :
    . always : la couleur de l'échantillon est toujours appliquée.
    . less : La couleur de l'échantillon est appliquée si sa transparence est inférieure au 2ème paramètre.
    . less_or_equal : La couleur de l'échantillon est appliquée si sa transparence est inférieure ou égal au 2ème paramètre.
    . equal : La couleur de l'échantillon est appliquée si sa transparence est égale au 2ème paramètre.
    . not_equal : La couleur de l'échantillon est appliquée si sa transparence est différente du 2ème paramètre.
    . greater_or_equal : La couleur de l'échantillon est appliquée si sa transparence est supérieure ou égal au 2ème paramètre.
    . greater : La couleur de l'échantillon est appliquée si sa transparence est supérieure au 2ème paramètre.
    . never : La couleur de l'échantillon n'est jamais appliquée.
  6. 'rgb_blend' : func : valeur Arg0 : valeur Arg1 : valeur
    Définit le comportement de la texture lors du mélange des couleurs.
    Le premier paramètre est la fonction de mélange, les 2ème et 3ème paramètres sont les opérandes (Arg0 et Arg1) de la fonction.
    Le premier paramètre peut prendre les valeurs suivantes :
    . none : Aucun des 2 opérandes n'est utilisé.
    . first_arg : Retourne Arg0.
    . add : Retourne Arg0 + Arg1.
    . add_signed : Retourne Arg0 + Arg1 - 0.5.
    . modulate : Retourne Arg0 x Arg1.
    . subtract : Retourne Arg0 - Arg1.
    . dot3_rgb : Retourne 4 x [((Arg0r - 0.5) x (Arg1r - 0.5)) + ((Arg0g - 0.5) x (Arg1g - 0.5)) + ((Arg0b - 0.5) x (Arg1b - 0.5))].
    . dot3_rgba : Retourne 4 x [((Arg0r - 0.5) x (Arg1r - 0.5)) + ((Arg0g - 0.5) x (Arg1g - 0.5)) + ((Arg0b - 0.5) x (Arg1b - 0.5))].
    Les 2 autres paramètres peuvent prendre une valeur parmi les suivantes :
    . texture :
    . texture0 :
    . texture1 :
    . texture2 :
    . texture3 :
    . constant :
    . diffuse :
    . previous :
  7. 'alpha_blend' : func : valeur Arg0 : valeur Arg1 : valeur
    Définit le comportement de la texture lors du mélange de la transparence.
    Le premier paramètre est la fonction de mélange, les 2ème et 3ème paramètres sont les opérandes de la fonction.
    Le premier paramètre peut prendre les valeurs suivantes :
    . none : Aucun des 2 opérandes n'est utilisé.
    . first_arg : Retourne Arg0.
    . add : Retourne Arg0 + Arg1.
    . add_signed : Retourne Arg0 + Arg1 - 0.5.
    . modulate : Retourne Arg0 x Arg1.
    . subtract : Retourne Arg0 - Arg1.
    Les 2 autres paramètres peuvent prendre une valeur parmi les suivantes :
    . texture :
    . texture0 :
    . texture1 :
    . texture2 :
    . texture3 :
    . constant :
    . diffuse :
    . previous :
  8. 'channel' : valeur
    Le canal auquel est associée la texture. Peut prendre les valeurs suivantes :
    . colour : Couleur de base.
    . ambient : Couleur d'éclairage ambiant.
    . diffuse : Couleur d'éclairage diffus.
    . emissive : Couleur d'émission.
    . normal : Normales.
    . specular : Eclairage spéculaire.
    . opacity : Opacité.
    . gloss : Exposant lumineux pour les calculs de spéculaire.
  9. 'sampler' : nom
    Définit l'échantillonneur pour la texture.

E - Section 'gl_shader_program'

  1. 'vertex_program' : nouvelle section
    Définit une nouvelle section concernant le vertex program.
  2. 'pixel_program' : nouvelle section
    Définit une nouvelle section concernant le pixel program.
  3. 'geometry_program' : nouvelle section
    Définit une nouvelle section concernant le geometry program.
  4. 'hull_program' : nouvelle section
    Définit une nouvelle section concernant le hull (tessellation control) program.
  5. 'domain_program' : nouvelle section
    Définit une nouvelle section concernant le domain (tessellation evaluation) program.
  6. 'constants_buffer' : nouvelle section
    Définit une nouvelle section concernant les tampons de constantes (uniform buffers).

F - Section 'vertex/pixel/geometry/hull/domain_program'

  1. 'file' : fichier
    Nom du fichier où se trouve le programme.
  2. 'sampler' : nom
    Crée une nouvelle variable de type sampler (1D, 2D, ...) pour le pixel shader.
  3. 'input_type' : valeur
    Définit le type de données de faces en entrée du geometry shader. Peut ptrendre les valeurs suivantes :
    . points : Des points.
    . lines : Des lignes disjointes.
    . line_loop : Une boucle formée de lignes jointes.
    . line_strip : Des lignes jointes.
    . triangles : Des triangles disjoints.
    . triangle_strip : Des triangles joints.
    . triangle_fan : Des triangles joints par le premier point.
    . quads : Des quadrilatères disjoints.
    . quad_strip : Des quadrilatères joints.
    . polygon : Des polygones.
  4. 'output_type' : valeur
    Définit le type de données de faces en sortie du geometry shader. Peut ptrendre les valeurs suivantes :
    . points : Des points.
    . line_strip : Des lignes jointes.
    . triangle_strip : Des triangles joints.
    . quad_strip : Des quadrilatères joints.
  5. 'output_vtx_count' : entier
    Définit le nombre de sommets en sortie du geometry shader.

G - Section 'constants_buffer'

  1. 'shaders' : combinaison binaire de valeurs
    Types de shaders pour lesquels ce tampon s'applique, parmi :
    . vertex
    . hull
    . domain
    . geometry
    . pixel
    . compute
  2. 'variable' : nom, nouvelle section
    Définit une section de propriétés d'une variable à ajouter au tampon.

H - Section 'variable'

  1. 'type' : valeur
    Nom du type de la variable, peut être :
    . int : 1 entier signé.
    . uint : 1 entier non signé.
    . float : 1 nombre flottant en simple précision.
    . double : 1 nombre flottant en double précision.
    . vec2i : 2 entiers signés.
    . vec3i : 3 entiers signés.
    . vec4i : 4 entiers signés.
    . vec2f : 2 nombres flottants en simple précision.
    . vec3f : 3 nombres flottants en simple précision.
    . vec4f : 4 nombres flottants en simple précision.
    . vec2d : 2 nombres flottants en double précision.
    . vec3d : 3 nombres flottants en double précision.
    . vec4d : 4 nombres flottants en double précision.
    . mat2x2i : Matrice 2x2 d'entiers signés.
    . mat2x3i : Matrice 2x3 d'entiers signés.
    . mat2x4i : Matrice 2x4 d'entiers signés.
    . mat3x2i : Matrice 3x2 d'entiers signés.
    . mat3x3i : Matrice 3x3 d'entiers signés.
    . mat3x4i : Matrice 3x4 d'entiers signés.
    . mat4x2i : Matrice 4x2 d'entiers signés.
    . mat4x3i : Matrice 4x3 d'entiers signés.
    . mat4x4i : Matrice 4x4 d'entiers signés.
    . mat2x2f : Matrice 2x2 de nombres flottants simple précision.
    . mat2x3f : Matrice 2x3 de nombres flottants simple précision.
    . mat2x4f : Matrice 2x4 de nombres flottants simple précision.
    . mat3x2f : Matrice 3x2 de nombres flottants simple précision.
    . mat3x3f : Matrice 3x3 de nombres flottants simple précision.
    . mat3x4f : Matrice 3x4 de nombres flottants simple précision.
    . mat4x2f : Matrice 4x2 de nombres flottants simple précision.
    . mat4x3f : Matrice 4x3 de nombres flottants simple précision.
    . mat4x4f : Matrice 4x4 de nombres flottants simple précision.
    . mat2x2d : Matrice 2x2 de nombres flottants double précision.
    . mat2x3d : Matrice 2x3 de nombres flottants double précision.
    . mat2x4d : Matrice 2x4 de nombres flottants double précision.
    . mat3x2d : Matrice 3x2 de nombres flottants double précision.
    . mat3x3d : Matrice 3x3 de nombres flottants double précision.
    . mat3x4d : Matrice 3x4 de nombres flottants double précision.
    . mat4x2d : Matrice 4x2 de nombres flottants double précision.
    . mat4x3d : Matrice 4x3 de nombres flottants double précision.
    . mat4x4d : Matrice 4x4 de nombres flottants double précision.
  2. 'count' : entier
    Nombre d'occurences de la variable (taille du tableau).
  3. 'value' :
    Valeur de la variable, fonction du type choisi.

I - Section 'font'

  1. 'file' : fichier
    Définit le fichier contenant la police.
  2. 'height' : entier
    Définit la hauteur des caractères (la précision).

J - Section 'scene'

  1. 'ambient_light' : couleur
    Définit la couleur de l'éclairage ambiant.
  2. 'background_colour' : couleur
    Définit la couleur de fond de la scène.
  3. 'background_image' : fichier
    Définit l'image de fond de la scène.
  4. 'import' : fichier
    Permet l'import d'une scène à partir d'un fichier de scène CSCN ou autre, supporté par les plug-ins d'import Castor3D.
  5. 'scene_node' : nouvelle section
    Définit un noeud de scène.
  6. 'camera_node' : nouvelle section
    Définit un noeud de scène spécifique aux caméras.
  7. 'light' : nouvelle section
    Définit une source lumineuse.
  8. 'object' : nouvelle section
    Définit un objet.
  9. 'billboard' : nouvelle section
    Définit des billboards.
  10. 'camera' : nouvelle section
    Définit une caméra.
  11. 'panel_overlay' : nouvelle section
    Définit une incrustation de type panneau simple.
  12. 'border_panel_overlay' : nouvelle section
    Définit une incrustation de type panneau avec bordure.
  13. 'text_overlay' : nouvelle section
    Définit une incrustation de type panneau avec texte.
  14. 'animated_object_group' : nouvelle section
    Définit un groupe d'objets animés avec des animations communes.
  15. 'sampler'
    Permet de définir un objet d'échantillonnage de texture.
  16. 'material'
    Permet la définition d'un matériau.
  17. 'window'
    Permet la définition d'une fenêtre de rendu.

K - Sections 'scene_node' et 'camera_node'

  1. 'parent' : nom
    Définit le Node parent de celui-ci. Par défaut le parent est le RootNode. Le fait de transformer (tranlate, rotate, scale) un node parent transforme ses enfants.
  2. 'position' : 3 réels
    La position du node par rapport à son parent.
  3. 'orientation' : 4 réels
    Quaternion représentant l'orientation du node par rapport à son parent.
  4. 'scale' : 3 réels
    Echelle du node par rapport à son parent.

L - Section 'light'

  1. 'type' : valeur
    3 types de sources lumineuses existent dans Castor3D :
    . directional : lumière directionnelle (telle le soleil).
    . point_light : une source située à un endroit et émettant dans toutes les directions.
    . spot_light : une source située à un endroit et émettant dans un cône orienté dans une direction.
  2. 'colour' : 3 réels
    Définit la couleur de la source lumineuse, au format RGB.
  3. 'intensity' : 3 réels
    Définit les intensités ambiante, diffuse et spéculaire de la source lumineuse.
  4. 'attenuation' : 3 réels
    Définit les 3 composantes d'atténuation de la source lumineuse en fonction de l'éloignement de la source : constante, linéaire et quadratique. spot_light et point_light uniquement.
  5. 'cut_off' : réel
    Ouverture de l'angle du cône du spot. spot_light uniquement.
  6. 'exponent' : réel
    Attenuation fonction de la distance entre le point éclairé et le centre du cône lumineux. spot_light uniquement.
  7. 'parent' : nom
    Définit le nom du SceneNode auquel la source lumineuse est attachée.

M - Section 'object'

  1. 'parent' : nom
    Nom du SceneNode auquel la géométrie est attachée.
  2. 'mesh' : nom, nouvelle section
    Définit une section décrivant un maillage, avec le nom donné.
  3. 'material' : nom
    Nom d'un materiau défini dans un fichier .cmtl ou dans ce fichier. Applique le materiau à tous les sous-maillages.
  4. 'materials' : nouvelle section
    Permet de définir le matériau pour chaque sous-maillage.

N - Section 'materials'

  1. 'material' : entier, nom
    Index du sous-maillage et nom du matériau à utiliser.

O - Section 'mesh'

  1. 'type' : nom
    Nom du type de maillage. Peut être :
    . custom : maillage défini manuellement ou maillage importé.
    . cube : cube, il faut définir ses 3 dimensions par la suite.
    . cone : cône, il faut définir son rayon et sa hauteur par la suite.
    . cylinder : cylindre, dont il faut entrer ensuite le rayon et la hauteur.
    . sphere : sphère à faces "carrées", il faut définir le nombre de subdivision et le rayon.
    . icosahedron : sphère à faces triangulaires, il faut définir le nombre de subdivision et le rayon.
    . torus : torre, il est nécessaire de définir le nombre de subdivisions internes, externes et les rayons interne et externe.
    . plane : un plan, il est nécessaire de définir le nombre de subdivisions en largeur et en profondeur ainsi que la largeur et la profondeur.
  2. 'normals' : valeur
    Le type de normales utilisées pour le maillage. Peut être :
    . flat : normales par face.
    . smooth : normales par sommet.
  3. 'submesh' : nouvelle section
    Définit un sous-maillage, uniquement si le type du maillage est 'custom'.
  4. 'import' : fichier <_options_>
    Uniquement si le type du maillage est 'custom'.
    Permet l'import d'un fichier contenant les données du maillage. Ce fichier peut être au format cmsh ou tout autre format supporté par Castor3D.
    Cette directive peut de plus prendre plusieurs options parmi les suivantes :
    . smooth_normals : Génère les normales par sommet lors de l'import.
    . flat_normals : Génère les normales par face lors de l'import.
    . tangent_space : Génère les informations d'espace tangent (tangente et bitangente) lors de l'import.
  5. 'division' : nom entier
    Permet la subdivision du maillage en utilisant un algorithm défini par le nom donné (support en fonction des plugins).
    Le second paramètre est le nombre de fois où la division est effectuée (récursivement).

P - Section 'submesh'

  1. 'vertex' : 3 réels
    Ajoute le sommet défini par les coordonnées au sous-maillage.
  2. 'uv' : 2 réels
    Définit les uv à utiliser pour le sommet déclaré précédemment.
  3. 'uvw' : 3 réels
    Définit les uvw à utiliser pour le sommet déclaré précédemment.
  4. 'normal' : 3 réels
    Définit la normale à utiliser pour le sommet déclaré précédemment.
  5. 'tangent' : 3 réels
    Définit la tangente à utiliser pour le sommet déclaré précédemment.
  6. 'face' : 3 ou 4 entiers
    Définit une face qui utilise les 3 ou 4 indices de sommet. S'il y a plus de 3 indices, crée autant de faces triangulaires que nécessaire.
  7. 'face_uv' : autant d'uv que d'indices de la face
    Définit les uv à utiliser pour la face déclarée précédemment.
  8. 'face_uvw' : autant d'uvw que d'indices de la face
    Définit les uvw à utiliser pour la face déclarée précédemment.
  9. 'face_normals' : autant de groupes de 3 réels que d'indices de la face
    Définit les normales à utiliser pour la face déclarée précédemment.
  10. 'face_tangents' : autant de groupes de 3 réels que d'indices de la face
    Définit les tangentes à utiliser pour la face déclarée précédemment.

Q - Section 'billboard'

Permet de définir des billboards partageant le même matériau et faisant les mêmes dimensions.

  1. 'parent' : nom
    Définit le SceneNode auquel ces billboards seront attachés.
  2. 'positions' : nouvelle section
    Permet de définir les positions relatives des différentes instances des billboards.
  3. 'material' : nom
    Définit le mtatériau utilisé pour l'affichage des billboards.
  4. 'dimensions' : taille
    Définit la taille des billboards.

R - Section 'positions'

  1. 'pos' : 3 réels
    Définit la position relative d'un billboard.

S - Section 'camera'

  1. 'parent' : nom
    Définit le CameraNode auquel la caméra est attachée.
  2. 'viewport' : nouvelle section
    Définit la fenêtre d'affichage de la caméra.

T - Section 'viewport'

  1. 'type' : valeur
    Type d'affichage de la fenêtre, peut valoir 2d ou 3d.
  2. 'left' : réel
    Définit la coordonnée X minimale affichée.
  3. 'right' : réel
    Définit la coordonnée X maximale affichée.
  4. 'top' : réel
    Définit la coordonnée Y minimale affichée.
  5. 'bottom' : réel
    Définit la coordonnée Y maximale affichée.
  6. 'near' : réel
    Définit la coordonnée Z minimale affichée.
  7. 'far' : réel
    Définit la coordonnée Z maximale affichée.
  8. 'size' : taille
    Définit la taille de la fenêtre d'affichage (en pixels).
  9. 'fov_y' : réel
    Définit l'angle d'ouverture vertical, en radians.
  10. 'aspect_ratio' : réel
    Définit l'aspect global de la fenêtre (1.33333 pour 4/3, 1.77777 pour 16/9 ... ).

U - Section 'animated_object_group'

  1. 'animated_object' : nom
    Définit le nom d'un objet à ajouter dans le groupe.
  2. 'animation' : nom
    Ajoute l'animation dont le nom est donné à la liste d'animations communes.
  3. 'start_animation' : nom
    Démarre l'animation de la liste d'animations communes, dont le nom est donné.

V - Section 'panel_overlay'

  1. 'material' : nom
    Définit le matériau utilisé par le panneau.
  2. 'position' : 2 réels
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran).
  3. 'size' : 2 réels
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran).
  4. 'pxl_position' : 2 entiers
    Définit la position absolue de l'incrustation, en pixels.
  5. 'pxl_size' : 2 entiers
    Définit la taille absolue de l'incrustation, en pixels.
  6. 'uv' : 4 réels
    Définit les UV pour l'incrustation (gauche, haut, droit, bas).
  7. 'panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau simple.
  8. 'border_panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec bordure.
  9. 'text_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec texte.

W - Section 'border_panel_overlay'

  1. 'material' : nom
    Définit le matériau utilisé par le panneau.
  2. 'position' : 2 réels
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran).
  3. 'size' : 2 réels
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran).
  4. 'pxl_position' : 2 réels
    Définit la position absolue de l'incrustation, en pixels.
  5. 'pxl_size' : 2 réels
    Définit la taille absolue de l'incrustation, en pixels.
  6. 'center_uv' : 4 réels
    Définit les UV pour le centre de l'incrustation (gauche, haut, droit, bas).
  7. 'border_material' : nom
    Définit le matériau utilisé par la bordure du panneau.
  8. 'border_position' : valeur
    Définit la position de la bordure de l'incrustation, parmi les valeurs suivantes :
    . internal : La bordure à l'intérieur de l'inscrustation (elle ne dépasse pas de l'incrustation).
    . middle : La bordure est à moitié à l'intérieur et à moitié à l'extérieur de l'incrustation (elle dépasse de l'incrustation).
    . external : La bordure est à l'extérieur de l'incrustation (elle n'empiète pas sur le contenu de l'incrustation).
  9. 'border_size' : 4 réels
    Définit la taille des bords (gauche, droite, haut , bas), par rapport au parent (ou à l'écran).
  10. 'pxl_border_size' : 2 entiers
    Définit la taille absolue de l'incrustation, en pixels.
  11. 'border_inner_uv' : 4 réels
    Définit les UV pour la bordure de l'incrustation, côté intérieur (gauche, haut, droit, bas).
  12. 'border_outer_uv' : 4 réels
    Définit les UV pour la bordure de l'incrustation, côté extérieur (gauche, haut, droit, bas).
  13. 'panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau simple.
  14. 'border_panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec bordure.
  15. 'text_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec texte.

X - Section 'text_overlay'

  1. 'material' : nom
    Définit le matériau utilisé par le panneau.
  2. 'position' : 2 réels
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran).
  3. 'size' : 2 réels
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran).
  4. 'pxl_position' : 2 entiers
    Définit la position absolue de l'incrustation, en pixels.
  5. 'pxl_size' : 2 entiers
    Définit la taille absolue de l'incrustation, en pixels.
  6. 'font' : nom
    Définit la police utilisée par l'incrustation.
  7. 'text' : texte
    Définit le texte affiché.
  8. 'text_wrapping' : valeur
    Définit la manière dont le texte est découpé dans le cas où une ligne dépasse les dimensions de l'incrustation :
    . none : Le texte n'est pas découpé (ce qui dépasse n'est pas affiché).
    . break : Le texte est découpé à la lettre (les mots sont coupés).
    . break_words : Le texte est découpé au mot (les mots restent entiers).
  9. 'vertical_align' : valeur
    Définit la manière dont le texte est aligné verticalement, dans son incrustation :
    . top : Le texte est aligné en haut.
    . center : Le texte est centré.
    . bottom : Le texte est aligné en bas.
  10. 'horizontal_align' : valeur
    Définit la manière dont le texte est aligné horizontalement, dans son incrustation :
    . left : Le texte est aligné à gauche.
    . center : Le texte est centré.
    . right : Le texte est aligné à droite.
  11. 'panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau simple.
  12. 'border_panel_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec bordure.
  13. 'text_overlay' : nom nouvelle section
    Permet de définir une incrustation fille de type panneau avec texte.

Y - Section 'window'

  1. 'render_target' : nouvelle section
    Permet de définir une nouvelle section décrivant la cible de rendu.
  2. 'vsync' : booléen
    Permet de dire si on veut activer la synchronisation verticale.
  3. 'fullscreen' : booléen
    Permet d'activer ou non l'affichage plein écran.

Z - Section 'render_target'

  1. 'scene' : nom
    Permet de définir la scène rendue dans cette cible.
  2. 'camera' : nom
    Permet de définir la caméra utilisée pour rendre la scène.
  3. 'size' : taille
    Définit la taille du buffer interne de la cible de rendu.
  4. 'format' : valeur
    Définit le format des pixels du buffer couleur de la cible de rendu. Peut valoir :
    . l8 : Luminance 8 bits, 1 nombre entier 8 bits.
    . l16f : Luminance 16 bits, 1 nombre en virgule flottante 16 bits (half float).
    . l32f : Luminance 32 bits, 1 nombre en virgule flottante 32 bits (float).
    . al16 : Transparence + Luminance, 2 nombres entiers 8 bits.
    . al16f : Transparence + Luminance, 2 nombres en virgule flottante 16 bits (half float).
    . al32f : Transparence + Luminance, 2 nombres en virgule flottante 32 bits (float).
    . argb1555 : ARGB 16 bits, 1 bit alpha et chaque composante sur un entier 5 bits.
    . rgb565 : RGB 16 bits, R sur un entier 5 bits, G sur un entier 6 bits et B sur un entier 5 bits.
    . argb16 : ARGB 16 bits, chaque composante sur un entier 4 bits.
    . rgb24 : RGB 24 bits, chaque composante sur un entier 8 bits.
    . argb32 : ARGB 32 bits, chaque composante sur un entier 8 bits.
    . argb16f : ARGB 64 bits, chaque composante sur un flottant 16 bits (half float).
    . rgb32f : RGB 96 bits, chaque composante sur un flottant 32 bits (float).
    . argb32f : ARGB 128 bits, chaque composante sur un flottant 32 bits (float).
  5. 'technique' : nom, parametres optionnels
    Définit la technique de rendu utilisée. Les paramètres optionnels dépendent de la technique de rendu choisie.
  6. 'postfx' : nom, parametres optionnels
    Définit un effet post-rendu à utiliser. Les paramètres optionnels dépendent de l'effet choisi.
  7. 'stereo' : booléen
    Définit si on utilise l'affichage stéréoscopique.