Project

General

Profile

Scene file » History » Version 2

dragonjoker59, 12/22/2014 10:48 AM

1 1 dragonjoker59
Les fichiers CSCN sont au format texte et sont donc modifiables assez facilement (pour peu que l'on comprenne quelque chose à la syntaxe :P)
2 1 dragonjoker59
3 1 dragonjoker59
4 1 dragonjoker59
h1. +*Types de données*+
5 1 dragonjoker59
6 1 dragonjoker59
Les types de données qui apparaissent dans les fichiers de scène sont les suivants :
7 1 dragonjoker59
* entier : un entier tout con
8 1 dragonjoker59
* réel : un nombre réel, le séparateur des décimales est le point (.)
9 1 dragonjoker59
* 2, 3, 4 entiers : 2, 3 ou 4 entiers, séparés par des virgules (,) ou des espaces ( )
10 1 dragonjoker59
* 2, 3, 4 réels : 2, 3 ou 4 réels, séparés par des virgules (,) ou des espaces ( )
11 1 dragonjoker59
* taille : 2 entiers supérieurs ou égaux à 0
12 1 dragonjoker59
* 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 ( )
13 1 dragonjoker59
* couleur : les 4 composantes (RGBA) d'une couleur, exprimées en réels compris entre 0.0 et 1.0
14 1 dragonjoker59
* valeur : chaîne de caractère représentant une valeur prédéfinie
15 1 dragonjoker59
* nom : chaîne de caractère, entourée de guillemets (")
16 1 dragonjoker59
* fichier : chaîne de caractères représentant un chemin d'accès à un fichier, entourée de guillemets (")
17 1 dragonjoker59
* dossier : chaîne de caractères représentant un chemin d'accès à un dossier, entourée de guillemets (")
18 1 dragonjoker59
19 1 dragonjoker59
20 1 dragonjoker59
h1. +*Sections*+
21 1 dragonjoker59
22 1 dragonjoker59
h2. +*Description*+
23 1 dragonjoker59
24 1 dragonjoker59
Le fichier est décomposé en sections décrites de la manière suivante :
25 1 dragonjoker59
<pre>
26 1 dragonjoker59
[type_section] [nom_section]
27 1 dragonjoker59
{
28 1 dragonjoker59
	// informations de la section
29 1 dragonjoker59
}
30 1 dragonjoker59
</pre>
31 1 dragonjoker59
Exemple:
32 1 dragonjoker59
<pre>
33 1 dragonjoker59
light "Light0"
34 1 dragonjoker59
{
35 1 dragonjoker59
	type directional
36 1 dragonjoker59
	position 0.0 0.0 1.0
37 1 dragonjoker59
}
38 1 dragonjoker59
</pre>
39 1 dragonjoker59
40 1 dragonjoker59
Certaines sections peuvent avoir des sous-sections :
41 1 dragonjoker59
<pre>
42 1 dragonjoker59
material "Bronze"
43 1 dragonjoker59
{
44 1 dragonjoker59
	pass
45 1 dragonjoker59
	{
46 1 dragonjoker59
		ambient 0.2125 0.1275 0.054 1.0
47 1 dragonjoker59
		diffuse 0.714 0.4284 0.12144 1.0
48 1 dragonjoker59
		emissive 0.0 0.0 0.0 1.0
49 1 dragonjoker59
		specular 0.393548 0.271906 0.166721 1.0
50 1 dragonjoker59
		shininess 25.6
51 1 dragonjoker59
	}
52 1 dragonjoker59
}
53 1 dragonjoker59
</pre>
54 1 dragonjoker59
55 1 dragonjoker59
56 1 dragonjoker59
h2. +*Liste des sections*+
57 1 dragonjoker59
58 1 dragonjoker59
Les différentes sections possibles sont les suivantes :
59 1 dragonjoker59
60 1 dragonjoker59
# 'sampler'
61 1 dragonjoker59
    Permet de définir un objet d'échantillonnage de texture
62 1 dragonjoker59
# 'material'
63 1 dragonjoker59
    Permet la définition d'un matériau
64 1 dragonjoker59
# 'font'
65 1 dragonjoker59
    Permet la définition d'une police utilisée dans les incrustations texte
66 1 dragonjoker59
# 'window'
67 1 dragonjoker59
    Permet la définition d'une fenêtre de rendu
68 1 dragonjoker59
# 'panel_overlay'
69 1 dragonjoker59
    Permet de définir une incrustation globale de type panneau simple
70 1 dragonjoker59
# 'border_panel_overlay'
71 1 dragonjoker59
    Permet de définir une incrustation globale de type panneau avec bordure
72 1 dragonjoker59
# 'text_overlay'
73 1 dragonjoker59
    Permet de définir une incrustation globale de type panneau avec texte
74 1 dragonjoker59
# 'scene'
75 1 dragonjoker59
    Permet de définir une scène
76 1 dragonjoker59
77 1 dragonjoker59
78 1 dragonjoker59
h3. +A - Section 'sampler'+
79 1 dragonjoker59
80 1 dragonjoker59
# 'min_filter' : _valeur_
81 1 dragonjoker59
    Valeur pour la fonction de minification
82 1 dragonjoker59
# 'mag_filter' : _valeur_
83 1 dragonjoker59
    Valeur pour la fonction de magnification
84 1 dragonjoker59
# 'min_lod' : _réel_
85 1 dragonjoker59
    Définit la valeur minimale du niveau de détail
86 1 dragonjoker59
# 'max_lod' : _réel_
87 1 dragonjoker59
    Définit la valeur maximale du niveau de détail
88 1 dragonjoker59
# 'lod_bias' : _réel_
89 1 dragonjoker59
    Définit le MIP-Level
90 1 dragonjoker59
# 'u_wrap_mode' : _valeur_
91 1 dragonjoker59
    Définit le paramètre d'enveloppement de la texture en U. Peut prendre les valeurs suivantes :
92 2 dragonjoker59
    * repeat : La texture est répétée
93 2 dragonjoker59
    * mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente
94 2 dragonjoker59
    * 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
95 2 dragonjoker59
    * 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
96 1 dragonjoker59
# 'v_wrap_mode' : _valeur_
97 1 dragonjoker59
    Définit le paramètre d'enveloppement de la texture en V. Peut prendre les valeurs suivantes :
98 1 dragonjoker59
    . repeat : La texture est répétée
99 1 dragonjoker59
    . mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente
100 1 dragonjoker59
    . 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
101 1 dragonjoker59
    . 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
102 1 dragonjoker59
# 'w_wrap_mode' : _valeur_
103 1 dragonjoker59
    Définit le paramètre d'enveloppement de la texture en W. Peut prendre les valeurs suivantes :
104 1 dragonjoker59
    . repeat : La texture est répétée
105 1 dragonjoker59
    . mirrored_repeat : La texture est répétée, une instance sur 2 en miroir de la précédente
106 1 dragonjoker59
    . 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
107 1 dragonjoker59
    . 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
108 1 dragonjoker59
# 'border_colour' : _couleur_
109 1 dragonjoker59
    Définit la couleur des bords non texturés
110 1 dragonjoker59
# 'max_anisotropy' : _réel_
111 1 dragonjoker59
    Dzfinit le degré maximal d'anisotropie
112 1 dragonjoker59
113 1 dragonjoker59
114 1 dragonjoker59
h3. +B - Section 'material'+
115 1 dragonjoker59
116 1 dragonjoker59
Les matériaux pouvant être multi-passes, il est possible de définir plusieurs sous-sections de passe
117 1 dragonjoker59
118 1 dragonjoker59
# 'pass' : _nouvelle section_
119 1 dragonjoker59
    Commence un nouvelle section décrivant les propriétés de la passe.
120 1 dragonjoker59
121 1 dragonjoker59
122 1 dragonjoker59
h3. +C - Section 'pass'+
123 1 dragonjoker59
124 1 dragonjoker59
# 'ambient' : _couleur_
125 1 dragonjoker59
    Définit la couleur ambiante de cette passe.
126 1 dragonjoker59
# 'diffuse' : _couleur_
127 1 dragonjoker59
    Définit la couleur diffuse de cette passe.
128 1 dragonjoker59
# 'emissive' : _couleur_
129 1 dragonjoker59
    Définit la couleur émise par cette passe.
130 1 dragonjoker59
# 'specular' : _couleur_
131 1 dragonjoker59
    Définit la couleur réfléchie par cette passe.
132 1 dragonjoker59
# 'shininess' : _1 réel_
133 1 dragonjoker59
    Définit la façon dont la lumière est réfléchie.
134 1 dragonjoker59
# 'alpha' : _1 réel_
135 1 dragonjoker59
    Définit la valeur d'alpha des couleurs du material
136 1 dragonjoker59
# 'double_face' : _booléen_
137 1 dragonjoker59
    Définit si le material est double face (true) ou pas (false)
138 1 dragonjoker59
# 'blend_func' : _nom-src, nom-dst_
139 1 dragonjoker59
    Nom des 2 fonctions (source et destination) utilisées pour l'alpha blending, au choix parmi :
140 1 dragonjoker59
    .zero : la cible (src ou dst) ne sera pas considérée pour l'alpha blending
141 1 dragonjoker59
    .one : la cible (src ou dst) sera la seule visible
142 1 dragonjoker59
    .src_colour : la couleur de la cible sera la couleur de la source (dst seulement)
143 1 dragonjoker59
    .inv_src_colour : la couleur de la cible sera 1 moins la couleur de la source (dst seulement)
144 1 dragonjoker59
    .dst_colour : la couleur de la cible sera la couleur de la destination (src seulement)
145 1 dragonjoker59
    .inv_dst_colour : la couleur de la cible sera 1 moins la couleur de la destination (src seulement)
146 1 dragonjoker59
    .src_alpha : l'alpha de la cible sera l'alpha de la source (dst seulement)
147 1 dragonjoker59
    .inv_src_alpha : l'alpha de la cible sera 1 moins l'alpha de la source (dst seulement)
148 1 dragonjoker59
    .dst_alpha : l'alpha de la cible sera l'alpha de la destination (src seulement)
149 1 dragonjoker59
    .inv_dst_alpha : l'alpha de la cible sera 1 moins l'alpha de la destination (src seulement)
150 1 dragonjoker59
    .constant : 
151 1 dragonjoker59
    .inv_constant : 
152 1 dragonjoker59
    .src_alpha_sat : met l'alpha de la source à 1
153 1 dragonjoker59
    .src1_colour : 
154 1 dragonjoker59
    .inv_src1_colour : 
155 1 dragonjoker59
    .src1_alpha : 
156 1 dragonjoker59
    .inv_src1_alpha : 
157 1 dragonjoker59
# 'texture_unit' : _nouvelle section_
158 1 dragonjoker59
    Définit une nouvelle section concernant une texture
159 1 dragonjoker59
# 'gl_shader_program' : _nouvelle section_
160 1 dragonjoker59
    Définit une nouvelle section concernant un shader GLSL
161 1 dragonjoker59
# 'hl_shader_program' : _nouvelle section_
162 1 dragonjoker59
    Définit une nouvelle section concernant un shader HLSL
163 1 dragonjoker59
# 'cg_shader_program' : _nouvelle section_
164 1 dragonjoker59
    Définit une nouvelle section concernant un shader Cg
165 1 dragonjoker59
166 1 dragonjoker59
167 1 dragonjoker59
h3. +D - Section 'texture_unit'+
168 1 dragonjoker59
169 1 dragonjoker59
# 'image' : _fichier_
170 1 dragonjoker59
    Définit le chemin où trouver l'image
171 1 dragonjoker59
# 'render_target' : _nouvelle section_
172 1 dragonjoker59
    Permet de définir la texture en cible de rendu et de configurer cette cible
173 1 dragonjoker59
# 'colour' : _couleur_
174 1 dragonjoker59
    Définit la couleur de base
175 1 dragonjoker59
# 'map_type' : _valeur_
176 1 dragonjoker59
    Définit la façon dont l'image est appliquée sur l'objet :
177 1 dragonjoker59
    . none : aucun effet particulier
178 1 dragonjoker59
    . reflexion : reflexion mapping
179 1 dragonjoker59
    . sphere : sphere mapping
180 1 dragonjoker59
# 'alpha_func' : func : _valeur_ ref-val : _réel_
181 1 dragonjoker59
    Définit la fonction de gestion de l'alpha rejection pour la texture.
182 1 dragonjoker59
    Le second paramètre est la valeur de référence pour les calculs de transparence
183 1 dragonjoker59
    Les valeurs possibles pour le premier paramètre sont :
184 1 dragonjoker59
    . always : la couleur de l'échantillon est toujours appliquée
185 1 dragonjoker59
    . less : La couleur de l'échantillon est appliquée si sa transparence est inférieure au 2ème paramètre
186 1 dragonjoker59
    . less_or_equal : La couleur de l'échantillon est appliquée si sa transparence est inférieure ou égal au 2ème paramètre
187 1 dragonjoker59
    . equal : La couleur de l'échantillon est appliquée si sa transparence est égale au 2ème paramètre
188 1 dragonjoker59
    . not_equal : La couleur de l'échantillon est appliquée si sa transparence est différente du 2ème paramètre
189 1 dragonjoker59
    . greater_or_equal : La couleur de l'échantillon est appliquée si sa transparence est supérieure ou égal au 2ème paramètre
190 1 dragonjoker59
    . greater : La couleur de l'échantillon est appliquée si sa transparence est supérieure au 2ème paramètre
191 1 dragonjoker59
    . never : La couleur de l'échantillon n'est jamais appliquée
192 1 dragonjoker59
# 'rgb_blend' : func : _valeur_ Arg0 : _valeur_ Arg1 : _valeur_
193 1 dragonjoker59
    Définit le comportement de la texture lors du mélange des couleurs
194 1 dragonjoker59
    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
195 1 dragonjoker59
    Le premier paramètre peut prendre les valeurs suivantes :
196 1 dragonjoker59
    . none : Aucun des 2 opérandes n'est utilisé
197 1 dragonjoker59
    . first_arg : Retourne Arg0
198 1 dragonjoker59
    . add : Retourne Arg0 + Arg1
199 1 dragonjoker59
    . add_signed : Retourne Arg0 + Arg1 - 0.5
200 1 dragonjoker59
    . modulate : Retourne Arg0 x Arg1
201 1 dragonjoker59
    . subtract : Retourne Arg0 - Arg1
202 1 dragonjoker59
    . 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))]
203 1 dragonjoker59
    . 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))]
204 1 dragonjoker59
    Les 2 autres paramètres peuvent prendre une valeur parmi les suivantes :
205 1 dragonjoker59
    . texture : 
206 1 dragonjoker59
    . texture0 : 
207 1 dragonjoker59
    . texture1 : 
208 1 dragonjoker59
    . texture2 : 
209 1 dragonjoker59
    . texture3 : 
210 1 dragonjoker59
    . constant : 
211 1 dragonjoker59
    . diffuse : 
212 1 dragonjoker59
    . previous : 
213 1 dragonjoker59
# 'alpha_blend' : func : _valeur_ Arg0 : _valeur_ Arg1 : _valeur_
214 1 dragonjoker59
    Définit le comportement de la texture lors du mélange de la transparence
215 1 dragonjoker59
    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
216 1 dragonjoker59
    Le premier paramètre peut prendre les valeurs suivantes :
217 1 dragonjoker59
    . none : Aucun des 2 opérandes n'est utilisé
218 1 dragonjoker59
    . first_arg : Retourne Arg0
219 1 dragonjoker59
    . add : Retourne Arg0 + Arg1
220 1 dragonjoker59
    . add_signed : Retourne Arg0 + Arg1 - 0.5
221 1 dragonjoker59
    . modulate : Retourne Arg0 x Arg1
222 1 dragonjoker59
    . subtract : Retourne Arg0 - Arg1
223 1 dragonjoker59
    Les 2 autres paramètres peuvent prendre une valeur parmi les suivantes :
224 1 dragonjoker59
    . texture : 
225 1 dragonjoker59
    . texture0 : 
226 1 dragonjoker59
    . texture1 : 
227 1 dragonjoker59
    . texture2 : 
228 1 dragonjoker59
    . texture3 : 
229 1 dragonjoker59
    . constant : 
230 1 dragonjoker59
    . diffuse : 
231 1 dragonjoker59
    . previous : 
232 1 dragonjoker59
# 'channel' : _valeur_
233 1 dragonjoker59
    Le canal auquel est associée la texture. Peut prendre les valeurs suivantes :
234 1 dragonjoker59
    . colour : Couleur de base
235 1 dragonjoker59
    . ambient : Eclairage ambiante de base
236 1 dragonjoker59
    . diffuse : Eclairage diffus de base
237 1 dragonjoker59
    . normal : Normales
238 1 dragonjoker59
    . specular : Eclairage spéculaire
239 1 dragonjoker59
    . opacity : Opacité
240 1 dragonjoker59
    . gloss : Exposant lumineux pour les calculs de spéculaire
241 1 dragonjoker59
# 'sampler' : _nom_
242 1 dragonjoker59
    Définit l'échantillonneur pour la texture
243 1 dragonjoker59
244 1 dragonjoker59
245 1 dragonjoker59
h3. +E - Section 'gl/hl/cg_shader_program'+
246 1 dragonjoker59
247 1 dragonjoker59
# 'vertex_program' : _nouvelle section_
248 1 dragonjoker59
    Définit une nouvelle section concernant le vertex program
249 1 dragonjoker59
# 'pixel_program' : _nouvelle section_
250 1 dragonjoker59
    Définit une nouvelle section concernant le pixel program
251 1 dragonjoker59
# 'geometry_program' : _nouvelle section_
252 1 dragonjoker59
    Définit une nouvelle section concernant le geometry program
253 1 dragonjoker59
# 'hull_program' : _nouvelle section_
254 1 dragonjoker59
    Définit une nouvelle section concernant le hull (tessellation control) program
255 1 dragonjoker59
# 'domain_program' : _nouvelle section_
256 1 dragonjoker59
    Définit une nouvelle section concernant le domain (tessellation evaluation) program
257 1 dragonjoker59
258 1 dragonjoker59
259 1 dragonjoker59
h3. +F - Section 'vertex/pixel/geometry/hull/domain_program'+
260 1 dragonjoker59
261 1 dragonjoker59
# 'file' : _fichier_
262 1 dragonjoker59
    Nom du fichier où se trouve le programme
263 1 dragonjoker59
# 'entry' : _nom_
264 1 dragonjoker59
    Nom du de la fonction représentant le point d'entrée du shader concerné, uniquement en HLSL ou Cg.
265 1 dragonjoker59
# 'input_type' : _valeur_
266 1 dragonjoker59
    Définit le type de données de faces en entrée du geometry shader. Peut ptrendre les valeurs suivantes :
267 1 dragonjoker59
    . points : Des points
268 1 dragonjoker59
    . lines : Des lignes disjointes
269 1 dragonjoker59
    . line_loop : Une boucle formée de lignes jointes
270 1 dragonjoker59
    . line_strip : Des lignes jointes
271 1 dragonjoker59
    . triangles : Des triangles disjoints
272 1 dragonjoker59
    . triangle_strip : Des triangles joints
273 1 dragonjoker59
    . triangle_fan : Des triangles joints par le premier point 
274 1 dragonjoker59
    . quads : Des quadrilatères disjoints
275 1 dragonjoker59
    . quad_strip : Des quadrilatères joints
276 1 dragonjoker59
    . polygon : Des polygones
277 1 dragonjoker59
# 'output_type' : _valeur_
278 1 dragonjoker59
    Définit le type de données de faces en sortie du geometry shader. Peut ptrendre les valeurs suivantes :
279 1 dragonjoker59
    . points : Des points
280 1 dragonjoker59
    . line_strip : Des lignes jointes
281 1 dragonjoker59
    . triangle_strip : Des triangles joints
282 1 dragonjoker59
    . quad_strip : Des quadrilatères joints
283 1 dragonjoker59
# 'output_vtx_count' : _entier_
284 1 dragonjoker59
    Définit le nombre de sommets en sortie du geometry shader.
285 1 dragonjoker59
# 'variable' : _nouvelle section_
286 1 dragonjoker59
    Définit une section de propriétés d'une variable à passer au shader
287 1 dragonjoker59
288 1 dragonjoker59
289 1 dragonjoker59
h3. +G - Section 'variable'+
290 1 dragonjoker59
291 1 dragonjoker59
# 'type' : _valeur_
292 1 dragonjoker59
    Nom du type de la variable, peut être :
293 1 dragonjoker59
    . int : 1 entier signé
294 1 dragonjoker59
    . uint : 1 entier non signé
295 1 dragonjoker59
    . float : 1 nombre flottant en simple précision
296 1 dragonjoker59
    . double : 1 nombre flottant en double précision
297 1 dragonjoker59
    . vec2i : 2 entiers signés
298 1 dragonjoker59
    . vec3i : 3 entiers signés
299 1 dragonjoker59
    . vec4i : 4 entiers signés
300 1 dragonjoker59
    . vec2f : 2 nombres flottants en simple précision
301 1 dragonjoker59
    . vec3f : 3 nombres flottants en simple précision
302 1 dragonjoker59
    . vec4f : 4 nombres flottants en simple précision
303 1 dragonjoker59
    . vec2d : 2 nombres flottants en double précision
304 1 dragonjoker59
    . vec3d : 3 nombres flottants en double précision
305 1 dragonjoker59
    . vec4d : 4 nombres flottants en double précision
306 1 dragonjoker59
    . mat2x2i : Matrice 2x2 d'entiers signés
307 1 dragonjoker59
    . mat2x3i : Matrice 2x3 d'entiers signés
308 1 dragonjoker59
    . mat2x4i : Matrice 2x4 d'entiers signés
309 1 dragonjoker59
    . mat3x2i : Matrice 3x2 d'entiers signés
310 1 dragonjoker59
    . mat3x3i : Matrice 3x3 d'entiers signés
311 1 dragonjoker59
    . mat3x4i : Matrice 3x4 d'entiers signés
312 1 dragonjoker59
    . mat4x2i : Matrice 4x2 d'entiers signés
313 1 dragonjoker59
    . mat4x3i : Matrice 4x3 d'entiers signés
314 1 dragonjoker59
    . mat4x4i : Matrice 4x4 d'entiers signés
315 1 dragonjoker59
    . mat2x2f : Matrice 2x2 de nombres flottants simple précision
316 1 dragonjoker59
    . mat2x3f : Matrice 2x3 de nombres flottants simple précision
317 1 dragonjoker59
    . mat2x4f : Matrice 2x4 de nombres flottants simple précision
318 1 dragonjoker59
    . mat3x2f : Matrice 3x2 de nombres flottants simple précision
319 1 dragonjoker59
    . mat3x3f : Matrice 3x3 de nombres flottants simple précision
320 1 dragonjoker59
    . mat3x4f : Matrice 3x4 de nombres flottants simple précision
321 1 dragonjoker59
    . mat4x2f : Matrice 4x2 de nombres flottants simple précision
322 1 dragonjoker59
    . mat4x3f : Matrice 4x3 de nombres flottants simple précision
323 1 dragonjoker59
    . mat4x4f : Matrice 4x4 de nombres flottants simple précision
324 1 dragonjoker59
    . mat2x2d : Matrice 2x2 de nombres flottants double précision
325 1 dragonjoker59
    . mat2x3d : Matrice 2x3 de nombres flottants double précision
326 1 dragonjoker59
    . mat2x4d : Matrice 2x4 de nombres flottants double précision
327 1 dragonjoker59
    . mat3x2d : Matrice 3x2 de nombres flottants double précision
328 1 dragonjoker59
    . mat3x3d : Matrice 3x3 de nombres flottants double précision
329 1 dragonjoker59
    . mat3x4d : Matrice 3x4 de nombres flottants double précision
330 1 dragonjoker59
    . mat4x2d : Matrice 4x2 de nombres flottants double précision
331 1 dragonjoker59
    . mat4x3d : Matrice 4x3 de nombres flottants double précision
332 1 dragonjoker59
    . mat4x4d : Matrice 4x4 de nombres flottants double précision
333 1 dragonjoker59
# 'name' : _nom_
334 1 dragonjoker59
    Nom de la variable telle qu'elle apparaît dans les fichiers de shader
335 1 dragonjoker59
# 'value' :
336 1 dragonjoker59
    Valeur de la variable, fonction du type choisi
337 1 dragonjoker59
338 1 dragonjoker59
339 1 dragonjoker59
h3. +H - Section 'font'+
340 1 dragonjoker59
341 1 dragonjoker59
# 'file' : _fichier_
342 1 dragonjoker59
    Définit le fichier contenant la police.
343 1 dragonjoker59
# 'height' : _entier_
344 1 dragonjoker59
    Définit la hauteur des caractères (la précision)
345 1 dragonjoker59
346 1 dragonjoker59
347 1 dragonjoker59
h3. +I - Section 'scene'+
348 1 dragonjoker59
349 1 dragonjoker59
# 'ambient_light' : _couleur_
350 1 dragonjoker59
    Définit la couleur de l'éclairage ambiant.
351 1 dragonjoker59
# 'background_colour' : _couleur_
352 1 dragonjoker59
    Définit la couleur de fond de la scène.
353 1 dragonjoker59
# 'import' : _fichier_
354 1 dragonjoker59
    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.
355 1 dragonjoker59
# 'scene_node' : _nouvelle section_
356 1 dragonjoker59
    Définit un noeud de scène
357 1 dragonjoker59
# 'camera_node' : _nouvelle section_
358 1 dragonjoker59
    Définit un noeud de scène spécifique aux caméras
359 1 dragonjoker59
# 'light' : _nouvelle section_
360 1 dragonjoker59
    Définit une source lumineuse
361 1 dragonjoker59
# 'object' : _nouvelle section_
362 1 dragonjoker59
    Définit un objet
363 1 dragonjoker59
# 'billboard' : _nouvelle section_
364 1 dragonjoker59
    Définit des billboards
365 1 dragonjoker59
# 'camera' : _nouvelle section_
366 1 dragonjoker59
    Définit une caméra
367 1 dragonjoker59
# 'panel_overlay' : _nouvelle section_
368 1 dragonjoker59
    Définit une incrustation de type panneau simple
369 1 dragonjoker59
# 'border_panel_overlay' : _nouvelle section_
370 1 dragonjoker59
    Définit une incrustation de type panneau avec bordure
371 1 dragonjoker59
# 'text_overlay' : _nouvelle section_
372 1 dragonjoker59
    Définit une incrustation de type panneau avec texte
373 1 dragonjoker59
# 'animated_object_group' : _nouvelle section_
374 1 dragonjoker59
    Définit un groupe d'objets animés avec des animations communes
375 1 dragonjoker59
376 1 dragonjoker59
377 1 dragonjoker59
h3. +J - Sections 'scene_node' et 'camera_node'+
378 1 dragonjoker59
379 1 dragonjoker59
# 'parent' : _nom_
380 1 dragonjoker59
    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.
381 1 dragonjoker59
# 'position' : _3 réels_
382 1 dragonjoker59
    La position du node par rapport à son parent.
383 1 dragonjoker59
# 'orientation' : _4 réels_
384 1 dragonjoker59
    Quaternion représentant l'orientation du node par rapport à son parent.
385 1 dragonjoker59
# 'scale' : _3 réels_
386 1 dragonjoker59
    Echelle du node par rapport à son parent.
387 1 dragonjoker59
388 1 dragonjoker59
389 1 dragonjoker59
h3. +K - Section 'light'+
390 1 dragonjoker59
391 1 dragonjoker59
# 'type' : _valeur_
392 1 dragonjoker59
    3 types de sources lumineuses existent dans Castor3D : 
393 1 dragonjoker59
    . directional : lumière directionnelle (telle le soleil).
394 1 dragonjoker59
    . point_light : une source située à un endroit et émettant dans toutes les directions.
395 1 dragonjoker59
    . spot_light : une source située à un endroit et émettant dans un cône orienté dans une direction.
396 1 dragonjoker59
# 'ambient' : _3 réels_
397 1 dragonjoker59
    Définit la composante ambiante de la source lumineuse, au format RGB.
398 1 dragonjoker59
# 'diffuse' : _3 réels_
399 1 dragonjoker59
    Définit la composante diffuse de la source lumineuse, au format RGB.
400 1 dragonjoker59
# 'specular' : _3 réels_
401 1 dragonjoker59
    Définit la composante spéculaire de la source lumineuse, au format RGB.
402 1 dragonjoker59
# 'attenuation' : _3 réels_
403 1 dragonjoker59
    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.
404 1 dragonjoker59
# 'cut_off' : _réel_
405 1 dragonjoker59
    Ouverture de l'angle du cône du spot. spot_light uniquement.
406 1 dragonjoker59
# 'exponent' : _réel_
407 1 dragonjoker59
    Attenuation fonction de la distance entre le point éclairé et le centre du cône lumineux. spot_light uniquement.
408 1 dragonjoker59
# 'parent' : _nom_
409 1 dragonjoker59
    Définit le nom du SceneNode auquel la source lumineuse est attachée.
410 1 dragonjoker59
411 1 dragonjoker59
412 1 dragonjoker59
h3. +L - Section 'object'+
413 1 dragonjoker59
414 1 dragonjoker59
# 'parent' : _nom_
415 1 dragonjoker59
    Nom du SceneNode auquel la géométrie est attachée
416 1 dragonjoker59
# 'mesh' : _nom_, _nouvelle section_
417 1 dragonjoker59
    Définit une section décrivant un maillage, avec le nom donné.
418 1 dragonjoker59
419 1 dragonjoker59
420 1 dragonjoker59
h3. +M - Section 'mesh'+
421 1 dragonjoker59
422 1 dragonjoker59
# 'type' : _nom_
423 1 dragonjoker59
    Nom du type de maillage. Peut être :
424 1 dragonjoker59
    . custom : maillage défini manuellement ou maillage importé
425 1 dragonjoker59
    . cube : cube, il faut définir ses 3 dimensions par la suite
426 1 dragonjoker59
    . cone : cône, il faut définir son rayon et sa hauteur par la suite
427 1 dragonjoker59
    . cylinder : cylindre, dont il faut entrer ensuite le rayon et la hauteur
428 1 dragonjoker59
    . sphere : sphère à faces "carrées", il faut définir le nombre de subdivision et le rayon
429 1 dragonjoker59
    . icosahedron : sphère à faces triangulaires, il faut définir le nombre de subdivision et le rayon
430 1 dragonjoker59
    . torus : torre, il est nécessaire de définir le nombre de subdivisions internes, externes et les rayons interne et externe
431 1 dragonjoker59
    . 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
432 1 dragonjoker59
# 'normals' : _valeur_
433 1 dragonjoker59
    Le type de normales utilisées pour le maillage. Peut être :
434 1 dragonjoker59
    . flat : normales par face
435 1 dragonjoker59
    . smooth : normales par sommet
436 1 dragonjoker59
# 'material' : _nom_
437 1 dragonjoker59
    Nom d'un materiau défini dans un fichier .cmtl ou dans ce fichier. Applique le materiau à tous les sous-maillages
438 1 dragonjoker59
# 'submesh' : _nouvelle section_
439 1 dragonjoker59
    Définit un sous-maillage, uniquement si le type du maillage est 'custom'
440 1 dragonjoker59
# 'import' : _fichier_ <_options_>
441 1 dragonjoker59
    Uniquement si le type du maillage est 'custom'
442 1 dragonjoker59
    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
443 1 dragonjoker59
    Cette directive peut de plus prendre plusieurs options parmi les suivantes :
444 1 dragonjoker59
    . smooth_normals : Génère les normales par sommet lors de l'import
445 1 dragonjoker59
    . flat_normals : Génère les normales par face lors de l'import
446 1 dragonjoker59
    . tangent_space : Génère les informations d'espace tangent (tangente et bitangente) lors de l'import.
447 1 dragonjoker59
# 'division' : _nom_ _entier_
448 1 dragonjoker59
    Permet la subdivision du maillage en utilisant un algorithm défini par le nom donné (support en fonction des plugins).
449 1 dragonjoker59
    Les 2 algorithmes implémentés par défaut sont Loop (loop) et PN-Triangles (pn_tri)
450 1 dragonjoker59
    Le second paramètre est le nombre de fois où la division est effectuée (récursivement).
451 1 dragonjoker59
452 1 dragonjoker59
453 1 dragonjoker59
h3. +N - Section 'submesh'+
454 1 dragonjoker59
455 1 dragonjoker59
# 'material' : _nom_
456 1 dragonjoker59
    Nom d'un materiau défini dans un fichier .csmat ou dans ce fichier. Applique le materiau au sous-maillage
457 1 dragonjoker59
# 'vertex' : _3 réels_
458 1 dragonjoker59
    Ajoute le sommet défini par les coordonnées au sous-maillage
459 1 dragonjoker59
# 'uv' : _2 réels_
460 1 dragonjoker59
    Définit les uv à utiliser pour le sommet déclaré précédemment
461 1 dragonjoker59
# 'uvw' : _3 réels_
462 1 dragonjoker59
    Définit les uvw à utiliser pour le sommet déclaré précédemment
463 1 dragonjoker59
# 'normal' : _3 réels_
464 1 dragonjoker59
    Définit la normale à utiliser pour le sommet déclaré précédemment
465 1 dragonjoker59
# 'tangent' : _3 réels_
466 1 dragonjoker59
    Définit la tangente à utiliser pour le sommet déclaré précédemment
467 1 dragonjoker59
# ' face' : _3 ou 4 entiers_
468 1 dragonjoker59
    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
469 1 dragonjoker59
# 'face_uv' : _autant d'uv que d'indices de la face_
470 1 dragonjoker59
    Définit les uv à utiliser pour la face déclarée précédemment.
471 1 dragonjoker59
# 'face_uvw' : _autant d'uvw que d'indices de la face_
472 1 dragonjoker59
    Définit les uvw à utiliser pour la face déclarée précédemment.
473 1 dragonjoker59
# 'face_normals' : _autant de groupes de 3 réels que d'indices de la face_
474 1 dragonjoker59
    Définit les normales à utiliser pour la face déclarée précédemment.
475 1 dragonjoker59
# 'face_tangents' : _autant de groupes de 3 réels que d'indices de la face_
476 1 dragonjoker59
    Définit les tangentes à utiliser pour la face déclarée précédemment.
477 1 dragonjoker59
478 1 dragonjoker59
479 1 dragonjoker59
h3. +O - Section 'billboard'+
480 1 dragonjoker59
481 1 dragonjoker59
Permet de définir des billboards partageant le même matériau et faisant les mêmes dimensions.
482 1 dragonjoker59
483 1 dragonjoker59
# 'parent' : _nom_
484 1 dragonjoker59
    Définit le SceneNode auquel ces billboards seront attachés
485 1 dragonjoker59
# 'positions' : _nouvelle section_
486 1 dragonjoker59
    Permet de définir les positions relatives des différentes instances des billboards
487 1 dragonjoker59
# 'material' : _nom_
488 1 dragonjoker59
    Définit le mtatériau utilisé pour l'affichage des billboards
489 1 dragonjoker59
# 'dimensions' : _taille_
490 1 dragonjoker59
    Définit la taille des billboards
491 1 dragonjoker59
492 1 dragonjoker59
493 1 dragonjoker59
h3. +P - Section 'positions'+
494 1 dragonjoker59
495 1 dragonjoker59
# 'pos' : _3 réels_
496 1 dragonjoker59
    Définit la position relative d'un billboard
497 1 dragonjoker59
498 1 dragonjoker59
499 1 dragonjoker59
h3. +Q - Section 'camera'+
500 1 dragonjoker59
501 1 dragonjoker59
# 'parent' : _nom_
502 1 dragonjoker59
    Définit le CameraNode auquel la caméra est attachée
503 1 dragonjoker59
# 'primitive' : _valeur_
504 1 dragonjoker59
    Définit le type d'affichage de la caméra, peut prendre les valeurs suivantes :
505 1 dragonjoker59
    . points : Des points
506 1 dragonjoker59
    . lines : Des lignes disjointes
507 1 dragonjoker59
    . line_loop : Une boucle formée de lignes jointes
508 1 dragonjoker59
    . line_strip : Des lignes jointes
509 1 dragonjoker59
    . triangles : Des triangles disjoints
510 1 dragonjoker59
    . triangle_strip : Des triangles joints
511 1 dragonjoker59
    . triangle_fan : Des triangles joints par le premier point 
512 1 dragonjoker59
    . quads : Des quadrilatères disjoints
513 1 dragonjoker59
    . quad_strip : Des quadrilatères joints
514 1 dragonjoker59
    . polygon : Des polygones
515 1 dragonjoker59
# 'viewport' : _nouvelle section_
516 1 dragonjoker59
    Définit la fenêtre d'affichage de la caméra
517 1 dragonjoker59
518 1 dragonjoker59
519 1 dragonjoker59
h3. +R - Section 'viewport'+
520 1 dragonjoker59
521 1 dragonjoker59
# 'type' : _valeur_
522 1 dragonjoker59
    Type d'affichage de la fenêtre, peut valoir 2d ou 3d.
523 1 dragonjoker59
# 'left' : _réel_
524 1 dragonjoker59
    Définit la coordonnée X minimale affichée
525 1 dragonjoker59
# 'right' : _réel_
526 1 dragonjoker59
    Définit la coordonnée X maximale affichée
527 1 dragonjoker59
# 'top' : _réel_
528 1 dragonjoker59
    Définit la coordonnée Y minimale affichée
529 1 dragonjoker59
# 'bottom' : _réel_
530 1 dragonjoker59
    Définit la coordonnée Y maximale affichée
531 1 dragonjoker59
# 'near' : _réel_
532 1 dragonjoker59
    Définit la coordonnée Z minimale affichée
533 1 dragonjoker59
# 'far' : _réel_
534 1 dragonjoker59
    Définit la coordonnée Z maximale affichée
535 1 dragonjoker59
# 'size' : _taille_
536 1 dragonjoker59
    Définit la taille de la fenêtre d'affichage (en pixels)
537 1 dragonjoker59
# 'fov_y' : _réel_
538 1 dragonjoker59
    Définit l'angle d'ouverture vertical, en radians
539 1 dragonjoker59
# 'aspect_ratio' : _réel_
540 1 dragonjoker59
    Définit l'aspect global de la fenêtre (1.33333 pour 4/3, 1.77777 pour 16/9 ... )
541 1 dragonjoker59
542 1 dragonjoker59
543 1 dragonjoker59
h3. +S - Section 'animated_object_group'+
544 1 dragonjoker59
545 1 dragonjoker59
# 'animated_object' : _nom_
546 1 dragonjoker59
    Définit le nom d'un objet à ajouter dans le groupe
547 1 dragonjoker59
# 'animation' : _nom_
548 1 dragonjoker59
    Ajoute l'animation dont le nom est donné à la liste d'animations communes
549 1 dragonjoker59
550 1 dragonjoker59
551 1 dragonjoker59
h3. +T - Section 'panel_overlay'+
552 1 dragonjoker59
553 1 dragonjoker59
# 'material' : _nom_
554 1 dragonjoker59
    Définit le matériau utilisé par le panneau
555 1 dragonjoker59
# 'position' : _2 réels_
556 1 dragonjoker59
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran)
557 1 dragonjoker59
# 'size' : _2 réels_
558 1 dragonjoker59
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran)
559 1 dragonjoker59
# 'panel_overlay' : _nom_ _nouvelle section_
560 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau simple
561 1 dragonjoker59
# 'border_panel_overlay' : _nom_ _nouvelle section_
562 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec bordure
563 1 dragonjoker59
# 'text_overlay' : _nom_ _nouvelle section_
564 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec texte
565 1 dragonjoker59
566 1 dragonjoker59
567 1 dragonjoker59
h3. +U - Section 'border_panel_overlay'+
568 1 dragonjoker59
569 1 dragonjoker59
# 'material' : _nom_
570 1 dragonjoker59
    Définit le matériau utilisé par le panneau
571 1 dragonjoker59
# 'position' : _2 réels_
572 1 dragonjoker59
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran)
573 1 dragonjoker59
# 'size' : _2 réels_
574 1 dragonjoker59
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran)
575 1 dragonjoker59
# 'border_size' : _4 réels_
576 1 dragonjoker59
    Définit la taille des bords (gauche, droite, haut , bas)
577 1 dragonjoker59
# 'panel_overlay' : _nom_ _nouvelle section_
578 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau simple
579 1 dragonjoker59
# 'border_panel_overlay' : _nom_ _nouvelle section_
580 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec bordure
581 1 dragonjoker59
# 'text_overlay' : _nom_ _nouvelle section_
582 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec texte
583 1 dragonjoker59
584 1 dragonjoker59
585 1 dragonjoker59
h3. +V - Section 'text_overlay'+
586 1 dragonjoker59
587 1 dragonjoker59
# 'material' : _nom_
588 1 dragonjoker59
    Définit le matériau utilisé par le panneau
589 1 dragonjoker59
# 'position' : _2 réels_
590 1 dragonjoker59
    Définit la position de l'incrustation, par rapport à son parent (ou à l'écran)
591 1 dragonjoker59
# 'size' : _2 réels_
592 1 dragonjoker59
    Définit la taille de l'incrustation, par rapport à son parent (ou à l'écran)
593 1 dragonjoker59
# 'font' : _nom_
594 1 dragonjoker59
    Définit la police utilisée par l'incrustation
595 1 dragonjoker59
# 'text' : _texte_
596 1 dragonjoker59
    Définit le texte affiché
597 1 dragonjoker59
# 'panel_overlay' : _nom_ _nouvelle section_
598 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau simple
599 1 dragonjoker59
# 'border_panel_overlay' : _nom_ _nouvelle section_
600 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec bordure
601 1 dragonjoker59
# 'text_overlay' : _nom_ _nouvelle section_
602 1 dragonjoker59
    Permet de définir une incrustation fille de type panneau avec texte
603 1 dragonjoker59
604 1 dragonjoker59
605 1 dragonjoker59
h3. +W - Section 'window'+
606 1 dragonjoker59
607 1 dragonjoker59
# 'render_target' : _nouvelle section_
608 1 dragonjoker59
    Permet de définir une nouvelle section décrivant la cible de rendu
609 1 dragonjoker59
# 'vsync' : _booléen_
610 1 dragonjoker59
    Permet de dire si on veut activer la synchronisation verticale
611 1 dragonjoker59
# 'fullscreen' : _booléen_
612 1 dragonjoker59
    Permet d'activer ou non l'affichage plein écran
613 1 dragonjoker59
614 1 dragonjoker59
615 1 dragonjoker59
h3. +X - Section 'render_target'+
616 1 dragonjoker59
617 1 dragonjoker59
# 'scene' : _nom_
618 1 dragonjoker59
    Permet de définir la scène rendue dans cette cible
619 1 dragonjoker59
# 'camera' : _nom_
620 1 dragonjoker59
    Permet de définir la caméra utilisée pour rendre la scène
621 1 dragonjoker59
# 'size' : _taille_
622 1 dragonjoker59
    Définit la taille du buffer interne de la cible de rendu
623 1 dragonjoker59
# 'format' : _valeur_
624 1 dragonjoker59
    Définit le format des pixels du buffer couleur de la cible de rendu. Peut valoir :
625 1 dragonjoker59
    . l8 : Luminance 8 bits, 1 nombre entier 8 bits
626 1 dragonjoker59
    . l16f : Luminance 16 bits, 1 nombre en virgule flottante 16 bits (half float)
627 1 dragonjoker59
    . l32f : Luminance 32 bits, 1 nombre en virgule flottante 32 bits (float)
628 1 dragonjoker59
    . al16 : Transparence + Luminance, 2 nombres entiers 8 bits
629 1 dragonjoker59
    . al16f : Transparence + Luminance, 2 nombres en virgule flottante 16 bits (half float)
630 1 dragonjoker59
    . al32f : Transparence + Luminance, 2 nombres en virgule flottante 32 bits (float)
631 1 dragonjoker59
    . argb1555 : ARGB 16 bits, 1 bit alpha et chaque composante sur un entier 5 bits
632 1 dragonjoker59
    . rgb565 : RGB 16 bits, R sur un entier 5 bits, G sur un entier 6 bits et B sur un entier 5 bits
633 1 dragonjoker59
    . argb16 : ARGB 16 bits, chaque composante sur un entier 4 bits
634 1 dragonjoker59
    . rgb24 : RGB 24 bits, chaque composante sur un entier 8 bits
635 1 dragonjoker59
    . argb32 : ARGB 32 bits, chaque composante sur un entier 8 bits
636 1 dragonjoker59
    . argb16f : ARGB 64 bits, chaque composante sur un flottant 16 bits (half float)
637 1 dragonjoker59
    . rgb32f : RGB 96 bits, chaque composante sur un flottant 32 bits (float)
638 1 dragonjoker59
    . argb32f : ARGB 128 bits, chaque composante sur un flottant 32 bits (float)
639 1 dragonjoker59
# 'depth' : _valeur_
640 1 dragonjoker59
    Définit le format des pixels du buffer profondeur de la cible de rendu. Peut valoir :
641 1 dragonjoker59
    . depth16 : Profondeur sur un entier en 16 bits
642 1 dragonjoker59
    . depth24 : Profondeur sur un entier en 24 bits
643 1 dragonjoker59
    . depth24s8 : Profondeur sur un entier en 24 bits + Stencil sur un entier 8 bits
644 1 dragonjoker59
    . depth32 : Profondeur sur un entier en 32 bits
645 1 dragonjoker59
    . stencil1 : Stencil sur un bit
646 1 dragonjoker59
    . stencil8 : Stencil sur un entier en 8 bits
647 1 dragonjoker59
# 'msaa' : _valeur_
648 1 dragonjoker59
    Définit si on utilise le multisample antialiasing. Peut valoir 2x, 4x ou 8x
649 1 dragonjoker59
# 'ssaa' : _valeur_
650 1 dragonjoker59
    Définit si on utilise le supersample antialiasing. Peut valoir 2x, 4x ou 8x
651 1 dragonjoker59
# 'stereo' : _booléen_
652 1 dragonjoker59
    Définit si on utilise l'affichage stéréoscopique
653 1 dragonjoker59
# 'deferred' : _booléen_
654 1 dragonjoker59
    Définit si on utilise le rendu différé (deferred lighting)