Skip to content

(EN) Scene File format description.

Sylvain Doremus edited this page Dec 30, 2017 · 5 revisions

Introduction

CSCN files are easily editable text files (since the syntax is understood).

Data types

The data types used in scene files are these ones :

boolean : a boolean (true or false).

int : a simple integer.

real : a floating point number, using dot ( . ) as the decimals separator.

2, 3, 4 ints : 2, 3 or 4 integers, separated by commas ( , ) or spaces ( ).

2, 3, 4 reals : 2, 3 or 4 floating point numbers, separated by commas ( , ) or spaces ( ).

size : 2 integers greater than or equal to 0.

2x2, 3x3, 4x4 reals matrix : 2, 3 or 4 groups separated by semi colons ( ; ) of 2, 3 or 4 floating point numbers separated by commas ( , ) or spaces ( ).

rgb_colour : the RGB components of colour, expressed in floating point numbers between 0.0 and 1.0.

rgba_colour : the RGBA components of colour, expressed in floating point numbers between 0.0 and 1.0.

rgb_hdr_colour : the RGB components of colour, expressed in floating point numbers greater than or equal to 0.0.

rgba_hdr_colour : the RGBA components of colour, expressed in floating point numbers greater than or equal to 0.0.

value : a string corresponding to a predefined value.

name : a string, wrapped into double quotes ( '̈ ).

file : a string, wrapped into double quotes ( '̈ ), containing a file name and path.

folder : a string, wrapped into double quotes ( '̈ ), containing a folder path.

Sections

Description

The file is split into sections, defined as follows :

 "[section_name]"
{
    // Section description
}

Example:

light "Light0"
{
    type directional
    colour 1.0 1.0 1.0
    intensity 0.8 1.0
}

Some sections can have child subsections :

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

Sections list

The possible sections are the following:

  1. 'sampler'

    Defines a texture sampler object.

  2. 'material'

    Defines a material.

  3. 'mesh'

    Defines a mesh.

  4. 'font'

    Defines a font used in text overlays.

  5. 'window'

    Defines a render window.

  6. 'panel_overlay'

    Defines a simple panel overlay.

  7. 'border_panel_overlay'

    Defines a panel overlay with a border.

  8. 'text_overlay'

    Defines a panel overlay with a text.

  9. 'scene'

    Defines a whole scene.

'sampler' section

  1. 'min_filter' : value

    Value used for minification function. The possible values are :

    • linear : linear interpolation.

    • nearest : no interpolation.

  2. 'mag_filter' : value

    Value used for magnification function. The possible values are :

    • linear : linear interpolation.

    • nearest : no interpolation.

  3. 'mip_filter' : value

    Value used for mipmapping function. The possible values are :

    • linear : linear interpolation.

    • nearest : no interpolation.

  4. 'min_lod' : real

    Defines minimum level of detail value.

  5. 'max_lod' : real

    Defines maximum level of detail value.

  6. 'lod_bias' : real

    Defines the MIP-Level.

  7. 'u_wrap_mode' : value

    Defines the wrapping mode of the texture, for the U component. The possible values are :

    • repeat : The texture is repeated.

    • mirrored_repeat : The texture is repeated, each instance of 2 being the mirror of the other one.

    • clamp_to_border : The texture is stretched, the object edge colour is defined as the texture edge colour.

    • clamp_to_edge : The texture is stretched, the object edge colour is defined as the average of the texture edge colour and the border colour.

  8. 'v_wrap_mode' : value

    Defines the wrapping mode of the texture, for the V component. The possible values are :

    • repeat : The texture is repeated.

    • mirrored_repeat : The texture is repeated, each instance of 2 being the mirror of the other one.

    • clamp_to_border : The texture is stretched, the object edge colour is defined as the texture edge colour.

    • clamp_to_edge : The texture is stretched, the object edge colour is defined as the average of the texture edge colour and the border colour.

  9. 'w_wrap_mode' : value

    Defines the wrapping mode of the texture, for the W component. The possible values are :

    • repeat : The texture is repeated.

    • mirrored_repeat : The texture is repeated, each instance of 2 being the mirror of the other one.

    • clamp_to_border : The texture is stretched, the object edge colour is defined as the texture edge colour.

    • clamp_to_edge : The texture is stretched, the object edge colour is defined as the average of the texture edge colour and the border colour.

  10. 'border_colour' : rgba_colour

    Defines the non textured border colour.

  11. 'max_anisotropy' : real

    Defines the maximum degree of anisotropy.

'material' section

Materials can be multi-pass, so you can declare more than one pass subsection.

  1. 'pass' : new section

    Defines a new section describing a texture.

'pass' section

  1. 'diffuse' : rgb_colour

    Defines diffuse colour of the pass (legacy materials only).

  2. 'albedo' : rgb_colour

    Defines albedo colour of the pass (not available on legacy materials).

  3. 'specular' : rgb_colour

    Defines specular colour of the pass (not available with metallic/roughness materials).

  4. 'metallic' : real (between 0 and 1)

    Defines the metallness of the pass (metallic/roughness materials only).

  5. 'shininess' : real (between 0 and 128)

    Defines the specular exponent of the pass (legacy materials only).

  6. 'glossiness' : real (between 0 and 1)

    Defines the glossiness of the pass (specular/glossiness materials only).

  7. 'roughness' : real (between 0 and 1)

    Defines the roughness of the pass (metallic/roughness materials only).

  8. 'ambient' : real (between 0 and 1)

    Defines ambient factor of the pass (legacy materials only).

  9. 'emissive' : real (between 0 and 1)

    Defines emissive factor of the pass.

  10. 'alpha' : real (between 0 and 1)

    Defines the global alpha value for the pass.

  11. 'two_sided' : boolean

    Tells the pass is two sided (true) or not (false).

  12. 'blend_func' : src : value, dst : value

    The two functions (source and destination) used during alpha blending :

    • zero : The target (src or dst) won't be used during alpha blending.

    • one : The target (src or dst) will be the only one used.

    • src_colour : The target colour will be the source colour (dst only).

    • inv_src_colour : The target colour will be one minus the source colour (dst only).

    • dst_colour : The target colour will be the destination colour (src only).

    • inv_dst_colour : The target colour will be one minus the destination colour (src only).

    • src_alpha : The target alpha will be the source alpha (dst only).

    • inv_src_alpha : The target alpha will be one minus the source alpha (dst only).

    • dst_alpha : The target alpha will be the destination alpha (src only).

    • inv_dst_alpha : The target alpha will be one minus the destination alpha (src only).

    • src_alpha_sat : Sets source alpha to 1.

  13. 'texture_unit' : new section

    Defines a new section describing a texture unit.

  14. 'alpha_blend_mode' : value

    Alpha blending mode name, can be one of:

    • none : No alpha blending.

    • additive : Source and destination alpha values are added.

    • multiplicative : Source and destination alpha values are multiplied.

  15. 'colour_blend_mode' : value

    Colour blending mode name, can be one of:

    • none : No colour blending.

    • additive : Source and destination colour values are added.

    • multiplicative : Source and destination colour values are multiplied.

  16. 'alpha_func' : func : value ref-val: real

    Defines the way alpha rejection is applied to the texture. The second parameter is the reference value used in alpha rejection function. The first parameter values can be :

    • always : The sample colour is always applied.

    • less : The sample colour is applied if its alpha component is less than the second parameter.

    • less_or_equal : The sample colour is applied if its alpha component is less than or equal to the second parameter.

    • equal : The sample colour is applied if its alpha component is equal to the second parameter.

    • not_equal : The sample colour is applied if its alpha component is different from the second parameter.

    • greater_or_equal : The sample colour is applied if its alpha component is greater than or equal to the second parameter.

    • greater : The sample colour is applied if its alpha component is greater than the second parameter.

    • never : The sample colour is never applied.

  17. 'refraction_ratio' : real

    Defines the refraction ratio of the pass. Note that if there is no refraction map, the refraction is still applied, using only the skybox.

  18. 'subsurface_scattering' : new section

    Defines a new section describing subsurface scattering for the pass.

  19. 'parallax_occlusion' : boolean

    Enables or disables parallax occlusion mapping (needs a normal map and a height map).

'texture_unit' section
  1. 'image' : file

    Defines the image file name.

  2. 'render_target' : new section

    Defines a new section describing a render target.

  3. 'colour' : colour

    Defines the base blending colour.

  4. 'map_type' : value

    Defines the way the texture is mapped to the object :

    • none : No effect.

    • reflection : reflection mapping.

    • sphere : sphere mapping.

  5. 'rgb_blend' : func : value Arg0 : value Arg1 : value

    Defines the texture behaviour during colour blending. The first parameter is the blending function, the two other ones are the operands (Arg0 and Arg1) of this function. The firs parameter can take one of the following values :

    • none : None of the two operands is used.

    • first_arg : Returns Arg0.

    • add : Returns Arg0 + Arg1.

    • add_signed : Returns Arg0 + Arg1 - 0.5.

    • modulate : Returns Arg0 x Arg1.

    • subtract : Returns Arg0 - Arg1.

    • dot3_rgb : Returns 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 : Returns 4 x [((Arg0r - 0.5) x (Arg1r - 0.5)) + ((Arg0g - 0.5) x (Arg1g - 0.5)) + ((Arg0b - 0.5) x (Arg1b - 0.5))].

    The two operands can be one of the following values :

    • texture : The current texture colour

    • texture0 : The first texture colour

    • texture1 : The second texture colour

    • texture2 : The third texture colour

    • texture3 : The fourth texture colour

    • constant :

    • diffuse :

    • previous :

  6. 'alpha_blend' : func : value Arg0 : value Arg1 : value

    Defines the texture behaviour during alpha blending. The first parameter is the blending function, the two other ones are the operands (Arg0 and Arg1) of this function. The first parameter can take one of the following values :

    • none : None of the two operands is used.

    • first_arg : Returns Arg0.

    • add : Returns Arg0 + Arg1.

    • add_signed : Returns Arg0 + Arg1 - 0.5.

    • modulate : Returns Arg0 x Arg1.

    • subtract : Returns Arg0 - Arg1.

    The two operands can be one of the following values :

    • texture : The current texture colour

    • texture0 : The first texture colour

    • texture1 : The second texture colour

    • texture2 : The third texture colour

    • texture3 : The fourth texture colour

    • constant :

    • diffuse :

    • previous :

  7. 'channel' : value

    The channel at which the texture is bound. Can be one of the following :

    • colour : Base colour.

    • ambient : Ambient lighting colour.

    • diffuse : Diffuse lighting colour.

    • normal : Normals.

    • specular : Specular lighting colour.

    • opacity : Opacity.

    • gloss : Specular exponent.

  8. 'sampler' : name

    Defines the sampler object used by the texture.

'shader_program' section
  1. 'vertex_program' : new section

    Defines a new section describing the vertex program.

  2. 'pixel_program' : new section

    Defines a new section describing the pixel program.

  3. 'geometry_program' : new section

    Defines a new section describing the geometry program.

  4. 'hull_program' : new section

    Defines a new section describing the hull (tessellation control) program.

  5. 'domain_program' : new section

    Defines a new section describing the domain (tessellation evaluation) program.

  6. 'constants_buffer' : new section

    Defines a new section dexcribing a constants buffer (uniform buffer).

'vertex/pixel/geometry/hull/domain_program' section
  1. 'file' : file

    Shader file name

  2. 'sampler' : name

    Creates a new variable of sample (1D, 2D, ...) type, for the pixel shader.

  3. 'input_type' : value

    Defines the input faces data type, for geometry shader. Can be one of the following :

    • points : Points.

    • lines : Disjoint lines.

    • line_loop : Joint lines loop.

    • line_strip : Joint lines.

    • triangles : Disjoint triangles.

    • triangle_strip : Joint triangles.

    • triangle_fan : Triangles joint using the first point.

    • quads : Disjoint quads.

    • quad_strip : Joint quads.

    • polygon : Polygons.

  4. 'output_type' : value

    Defines the geometry chader output data type. Can be one of the following :

    • points : Points.

    • line_strip : Joint lines.

    • triangle_strip : Joint triangles.

    • quad_strip : Joint quads.

  5. 'output_vtx_count' : int

    Defines the geometry shader output vertices.

  6. 'variable' : new section

    Defines a new section describing a uniform variable.

'constants_buffer' section
  1. 'shaders' : bitwise ORed values

    Shader types to which this buffer applies, can be one of:

    • vertex

    • hull

    • domain

    • geometry

    • pixel

    • compute

  2. 'variable' : name, new section

    Defines a new section describing a variable for this buffer.

'variable' section
  1. 'type' : value

    Variable type name, can be :

    • int : 1 signed integer.

    • uint : 1 unsigned integer.

    • float : 1 simple precision floating point number.

    • double : 1 double precision floating point number.

    • vec2i : 2 signed integers.

    • vec3i : 3 signed integers.

    • vec4i : 4 signed integers.

    • vec2f : 2 simple precision floating point numbers.

    • vec3f : 3 simple precision floating point numbers.

    • vec4f : 4 simple precision floating point numbers.

    • vec2d : 2 double precision floating point numbers.

    • vec3d : 3 double precision floating point numbers.

    • vec4d : 4 double precision floating point numbers.

    • mat2x2i : 2x2 signed integers matrix.

    • mat2x3i : 2x3 signed integers matrix.

    • mat2x4i : 2x4 signed integers matrix.

    • mat3x2i : 3x2 signed integers matrix.

    • mat3x3i : 3x3 signed integers matrix.

    • mat3x4i : 3x4 signed integers matrix.

    • mat4x2i : 4x2 signed integers matrix.

    • mat4x3i : 4x3 signed integers matrix.

    • mat4x4i : 4x4 signed integers matrix.

    • mat2x2f : 2x2 simple precision floating point numbers matrix.

    • mat2x3f : 2x3 simple precision floating point numbers matrix.

    • mat2x4f : 2x4 simple precision floating point numbers matrix.

    • mat3x2f : 3x2 simple precision floating point numbers matrix.

    • mat3x3f : 3x3 simple precision floating point numbers matrix.

    • mat3x4f : 3x4 simple precision floating point numbers matrix.

    • mat4x2f : 4x2 simple precision floating point numbers matrix.

    • mat4x3f : 4x3 simple precision floating point numbers matrix.

    • mat4x4f : 4x4 simple precision floating point numbers matrix.

    • mat2x2d : 2x2 double precision floating point numbers matrix.

    • mat2x3d : 2x3 double precision floating point numbers matrix.

    • mat2x4d : 2x4 double precision floating point numbers matrix.

    • mat3x2d : 3x2 double precision floating point numbers matrix.

    • mat3x3d : 3x3 double precision floating point numbers matrix.

    • mat3x4d : 3x4 double precision floating point numbers matrix.

    • mat4x2d : 4x2 double precision floating point numbers matrix.

    • mat4x3d : 4x3 double precision floating point numbers matrix.

    • mat4x4d : 4x4 double precision floating point numbers matrix.

  2. 'count' : int

    Variable occurences count (array size).

  3. 'value' :

    Variable value, depends on the chosen type.

'subsurface_scattering' section
  1. 'strength' : real

    Defines the strength of the effect.

  2. 'gaussian_width' : real

    Defines the width of the Gaussian blur.

  3. 'transmittance_profile' : new section

    Defines a new section describing the transmittance profile.

'transmittance_profile' section
  1. 'factor' : vec4f

    Defines the three RGB components of the colour, and the fourth component is used for the exponent of that colour.

'font' section

  1. 'file' : file

    Defines the file holding the font.

  2. 'height' : int

    Defines the height (precision) of the font.

'scene' section

  1. 'ambient_light' : colour

    Defines the ambient lighting colour. For PBR materials, defines the influence of the IBL on the scene.

  2. 'background_colour' : colour

    Defines the background colour.

  3. 'background_image' : file

    Defines the background image.

  4. 'import' : file

    Allows scene import from a CSCN file or another file format supported by Castor3D importer plug-ins.

  5. 'scene_node' : new section

    Defines a new section describing a scene node for objects, lights or billboards.

  6. 'camera_node' : new section

    Defines a new section describing a scene node for cameras.

  7. 'light' : new section

    Defines a new section describing a light source.

  8. 'object' : new section

    Defines a new section describing an object.

  9. 'billboard' : new section

    Defines a new section describing a billboards list.

  10. 'camera' : new section

    Defines a new section describing a camera.

  11. 'panel_overlay' : new section

    Defines a new section describing a simple panel overlay.

  12. 'border_panel_overlay' : new section

    Defines a new section describing a simple panel overlay with a border.

  13. 'text_overlay' : new section

    Defines a new section describing a simple panel overlay with text.

  14. 'animated_object_group' : new section

    Defines a new section describing an animated object group, with common animations.

  15. 'mesh' : new section

    Defines a new section describing a mesh, that can be used with one or more objects.

  16. 'particle_system' : new section

    Defines a new section describing a particle system.

  17. 'skybox' : new section

    Defines a new section describing the skybox.

  18. 'include' : file

    Includes a scene file, allowing you to split your scene in multiple files.

  19. 'sampler' : new section

    Defines a new section describing a sampler.

  20. 'fog_type' : value

    Defines the fog type for the scene. Possible values are:

    • linear: Fog intensity increases linearly with distance to camera.

    • exponential: Fog intensity increases exponentially with distance to camera.

    • squared_exponential: Fog intensity increases even more with distance to camera.

  21. 'fog_density' : real

    Defines the fog density, which is multiplied by the distance, according to chosen fog type.

  22. 'hdr_config' : real

    Defines a new section describing the HDR configuration.

'hdr_config' section

  1. 'exposure' : real

    Defines the scene's exposure.

  2. 'gamma' : real

    Defines the gamma correction.

'scene_node' and 'camera_node' sections

  1. 'parent' : name

    Defines this node's parent. The default parent node is the root node.

  2. 'position' : 3 reals

    Node position relative to its parent.

  3. 'orientation' : 4 reals

    A quaternion holding node orientation relative to its parent.

  4. 'scale' : 3 reals

    Node scale relative to its parent.

'light' section

  1. 'type' : value

    Three light source types exist in Castor3D :

    • directional : directional light (like the sun).

    • point_light : a positioned source which emits in all directions.

    • spot_light : a positioned source which emits in an oriented cone.

  2. 'colour' : rgb_colour

    Defines the colour for this source.

  3. 'intensity' : 2 reals

    Defines the diffuse and specular intensities for this source.

  4. 'attenuation' : 3 reals

    Defines the three attenuation components : constant, linear and quadratic. This attenuation is computed from the distance to the light source.

    Only for spot_light and point_light.

  5. 'cut_off' : real

    Defines the angle of the emission cone.

    Only for spot_light.

  6. 'exponent' : real

    Defines the attenuation computed with the distance from the emission cone centre.

    Only for spot_light.

  7. 'parent' : name

    Defines the node which this light source is attached to.

  8. 'shadow_producer' : boolean

    Defines if the light produces shadows (true) or not (false, default value).

'object' section

  1. 'parent' : name

    Defines the node which this object is attached to.

  2. 'mesh' : name

    Defines the mesh this object uses.

  3. 'mesh' : name new section

    Defines a new section describing a mesh with the given name.

  4. 'material' : name

    Name of a material, defined in a .cmtl file or in this file. Applies this material too all the submeshes.

  5. 'materials' : new section

    New section used to specify each submesh's material.

  6. 'cast_shadows' : boolean

    Defines if the object casts shadows (true, default value) or not (false).

  7. 'receive_shadows' : boolean

    Defines if the object receives shadows (true, default value) or not (false).

'materials' section
  1. 'material' : int, name

    Submesh index, and material name for this submesh.

'billboard' section

Allows the definition of billboards that share the same material and dimensions.

  1. 'parent' : name

    Defines the parent scene node.

  2. 'positions' : new section

    Defines a new section describing each billboard position.

  3. 'material' : name

    Defines the material used by every billboard of this list.

  4. 'dimensions' : size

    Defines billboards dimensions.

  5. 'type' : value

    Defines the type of billboard. Possible values are:

    • cylindrical: The billboard faces the camera, except for their Y axis, which remains still.

    • spherical: The billboard faces the camera on all axes.

  6. 'size' : value

    Defines the billboards sizing. Possible values are:

    • dynamic: The size varies, depending on the distance to camera.

    • fixed: The size is fixed, where the camera is.

'positions' section
  1. 'pos' : 3 reals

    Defines the relative position of a billboard.

'camera' section

  1. 'parent' : name

    Defines the parent CameraNode.

  2. 'primitive' : value

    Defines the display type. Can be one of :

    • points : Points.

    • lines : Disjointed lines.

    • line_loop : Jointed lines loop.

    • line_strip : Joined lines.

    • triangles : Disjointed triangles.

    • triangle_strip : Jointed triangles.

    • triangle_fan : Triangles jointed using the first point.

    • quads : Disjointed quads.

    • quad_strip : Jointed quads.

    • polygon : Polygons.

  3. 'viewport' : new section

    Defines the camera view port.

'viewport' section
  1. 'type' : value

    Window display type, 2d or 3d.

  2. 'left' : real

    Defines the minimum displayed X coordinate.

  3. 'right' : real

    Defines the maximum displayed X coordinate.

  4. 'top' : real

    Defines the minimum displayed Y coordinate.

  5. 'bottom' : real

    Defines the maximum displayed Y coordinate.

  6. 'near' : real

    Defines the minimum displayed Z coordinate.

  7. 'far' : real

    Defines the maximum displayed Z coordinate.

  8. 'size' : size

    Defines the window display size (in pixels).

  9. 'fov_y' : real

    Defines the vertical field of view angle, in radians.

  10. 'aspect_ratio' : real

    Defines the global window aspect ratio (1.33333 for 4/3, 1.77777 for 16/9 ... ).

'animated_object_group' section

  1. 'animated_object' : name

    Adds the object with the given name to the group.

  2. 'animation' : name

    Adds the animation with the given name to the group's common animations list.

  3. 'start_animation' : name

    Starts the given animation.

  4. 'pause_animation' : name

    Pauses the given animation (which must have been started first).

'animation' section
  1. 'looped' : boolean

    Defines if the animation is looped (true) or not (false, default value).

  2. 'scale' : real

    Defines the time scale of the animation (can be negative, the animation will then be played backwards).

'mesh' section

  1. 'type' : name

    Mesh type name, one of :

    • custom : manually defined mesh or imported mesh.

    • cube : a cube, user must then define its three dimensions.

    • cone : a cone, user must then define its radius and height.

    • cylinder : a cylinder, user must then define its radius and height.

    • sphere : a sphere with quad faces, user must then define the subdivisions count and the radius.

    • icosahedron : a sphere with triangular faces, user must then define the subdivisions count and the radius.

    • torus : a torus, user must then define the internal and external subdivisions count and the internal and external radius.

    • plane : a plane, user must then define the width and depth subdivisions count and the width and depth.

  2. 'submesh' : new section

    Defines a new section describing a submesh. Only if the mesh type is custom.

  3. 'import' : file <options>

    Allows import of mesh data from a file, in CMSH file format or any format supported by Castor3D import plug-ins. Only if the mesh type is custom. This directive can accept few optional parameters :

    • smooth_normals : Computes normals per vertex during import.

    • flat_normals : Computes normals per face during the import.

    • tangent_space : Computes tangent space informations (tangent and bi-tangent) during import.

    • rescale=real : Rescales the resulting mesh by given factor, on three axes.

  4. 'morph_import' : file <options>

    Allows import of mesh data from a file, to add mophing animation. This directive must happen after a first import directive. Only if the mesh type is custom. This directive can accept few optional parameters :

    • smooth_normals : Computes normals per vertex during import.

    • flat_normals : Computes normals per face during the import.

    • tangent_space : Computes tangent space informations (tangent and bi-tangent) during import.

    • rescale=real : Rescales the resulting mesh by given factor, on three axes.

  5. 'division' : name int

    Allows the mesh subdivision, using a supported Castor3D divider plug-in algorithm. The second parameter is the application count of the algorithm (its applied recursively).

'submesh' section

  1. 'vertex' : 3 reals

    Defines a vertex position.

  2. 'uv' : 2 reals

    Defines the UV texture coordinates for the previously declared vertex.

  3. 'uvw' : 3 reals

    Defines the UVW texture coordinates for the previously declared vertex.

  4. 'normal' : 3 reals

    Defines the normal coordinates for the previously declared vertex.

  5. 'tangent' : 3 reals

    Defines the tangent coordinates for the previously declared vertex.

  6. 'face' : 3 or 4 integers

    Defines a face using the three or four vertices whose indices are given. If more than three indices are given, creates the appropriate count of triangular faces.

  7. 'face_uv' : as much uv as the face indices

    Defines the UV coordinates for each vertex of the previously declared face.

  8. 'face_uvw' : as much uvw as the face indices

    Defines the UVW coordinates for each vertex of the previously declared face.

  9. 'face_normals' : as much 3 reals groups as the face indices

    Defines the normals coordinates for each vertex of the previously declared face.

  10. 'face_tangents' : as much 3 reals groups as the face indices

    Defines the tangents coordinates for each vertex of the previously declared face.

'panel_overlay' section

  1. 'material' : name

    Defines the material used by the panel.

  2. 'position' : 2 reals

    Defines the overlay position, relative to its parent (or to screen, if no parent).

  3. 'size' : 2 reals

    Defines the overlay size, relative to its parent (or to screen, if no parent).

  4. 'pxl_position' : 2 ints

    Defines the absolute position for the overlay, in pixels.

  5. 'pxl_size' : 2 ints

    Defines the absolute size for the overlay, in pixels.

  6. 'uv' : 4 reals

    Defines the UV for the overlay (left, top, right, bottom).

  7. 'panel_overlay' : name new section

    Defines a new section describing a simple panel children overlay.

  8. 'border_panel_overlay' : name new section

    Defines a new section describing a border panel children overlay.

  9. 'text_overlay' : name new section

    Defines a new section describing a text panel children overlay.

'border_panel_overlay' section

  1. 'material' : name

    Defines the material used by the panel.

  2. 'position' : 2 reals

    Defines the overlay position, relative to its parent (or to screen, if no parent).

  3. 'size' : 2 reals

    Defines the overlay size, relative to its parent (or to screen, if no parent).

  4. 'pxl_position' : 2 ints

    Defines the absolute position for the overlay, in pixels.

  5. 'pxl_size' : 2 ints

    Defines the absolute size for the overlay, in pixels.

  6. 'center_uv' : 4 reals

    Defines the UV for the center of the overlay (left, top, right, bottom).

  7. 'border_material' : name

    Defines the material used for the panel's border.

  8. 'border_position' : value

    Defines the border's position, can be one of:

    • internal : The border is inside the overlay.

    • middle : The border is half inside, half outside the overlay.

    • external : The border is outside the overlay.

  9. 'border_size' : 4 reals

    Defines the borders sizes (left right, top, bottom).

  10. 'pxl_border_size' : 2 ints

    Defines the absolute border size, in pixels.

  11. 'border_inner_uv' : 4 reals

    Defines the UV for the border of the overlay, inner side (left, top, right, bottom).

  12. 'border_outer_uv' : 4 reals

    Defines the UV for the border of the overlay, outer side (left, top, right, bottom).

  13. 'panel_overlay' : name new section

    Defines a new section describing a simple panel children overlay.

  14. 'border_panel_overlay' : name new section

    Defines a new section describing a border panel children overlay.

  15. 'text_overlay' : name new section

    Defines a new section describing a text panel children overlay.

'text_overlay' section

  1. 'material' : name

    Defines the material used by the panel.

  2. 'position' : 2 reals

    Defines the overlay position, relative to its parent (or to screen, if no parent).

  3. 'size' : 2 reals

    Defines the overlay size, relative to its parent (or to screen, if no parent).

  4. 'pxl_position' : 2 ints

    Defines the absolute position for the overlay, in pixels.

  5. 'pxl_size' : 2 ints

    Defines the absolute size for the overlay, in pixels.

  6. 'font' : name

    Defines the font used to display the text.

  7. 'text' : texte

    Defines the displayed text.

  8. 'text_wrapping' : value

    Defines the way the text is cut when a line overflows the overlay dimensions. Can be one of:

    • none : The text is not cut (the part that overflows won't be displayed, though).

    • break : The text is cut at the letter (the words will be cut).

    • break_words : The text is cut at the word (the words remain uncut).

  9. 'vertical_align' : value

    Defines the text vertical alignment:

    • top : Align on top.

    • center : Vertically center.

    • bottom : Align on bottom.

  10. 'horizontal_align' : value

    Defines the text horizontal alignment:

    • left : Align on left.

    • center : Horizontally center.

    • right : Align on right.

  11. 'texturing_mode' : value

    Defines the way the texture is applied:

    • letter : The texture is applied on each letter.

    • text : The texture is applied on the whole text.

  12. 'line_spacing_mode' : value

    Defines the height of the lines:

    • own_height : Each line has its own height.

    • max_lines_height : Each line has the height of the line with the maximum height.

    • max_font_height : Each line has the height of the character with the maximum height in the font.

  13. 'panel_overlay' : name new section

    Defines a new section describing a simple panel children overlay.

  14. 'border_panel_overlay' : name new section

    Defines a new section describing a border panel children overlay.

  15. 'text_overlay' : name new section

    Defines a new section describing a text panel children overlay.

Section 'window'

  1. 'render_target' : new section

    Defines a new section describing the render target.

  2. 'vsync' : boolean

    Defines the activation or deactivation of vertical synchronisation.

  3. 'fullscreen' : boolean

    Defines the activation or deactivation of full-screen display.

Section 'render_target'

  1. 'scene' : nom

    Defines the scene rendered in this target.

  2. 'camera' : nom

    Defines the camera used to render the scene.

  3. 'size' : size

    Defines the internal buffer dimensions.

  4. 'format' : value

    Defines the colour buffer pixel format. Can be one of :

    • l8 : Luminance 8 bits, one 8 bits integral number.

    • l16f : Luminance 16 bits, one 16 bits floating point number (half float).

    • l32f : Luminance 32 bits, one 32 bits floating point number(float).

    • al16 : Alpha + Luminance, two 8 bits integral number.

    • al16f : Alpha + Luminance, two 16 bits floating point number (half float).

    • al32f : Alpha + Luminance, two 32 bits floating point number (float).

    • argb1555 : ARGB 16 bits, 1 bit for alpha and each other component on a 5 bits integer.

    • rgb565 : RGB 16 bits, R and B on a 5 bits integer, G on a 6 bits integer.

    • argb16 : ARGB 16 bits, each component on a 4 bits integer.

    • rgb24 : RGB 24 bits, each component on a 8 bits integer.

    • argb32 : ARGB 32 bits, each component on a 8 bits integer.

    • argb16f : ARGB 64 bits, each component on a 16 bits floating point number (half float).

    • rgb32f : RGB 96 bits, each component on a 32 bits floating point number (half float).

    • argb32f : ARGB 128 bits, each component on a 32 bits floating point number (half float).

  5. 'depth' : value

    Defines the depth/stencil buffer pixel format. Can be one of :

    • depth16 : Depth on a 16 bits integer.

    • depth24 : Depth on a 24 bits integer.

    • depth24s8 : Depth on a 24 bits integer, Stencil on a 8 bits integer.

    • depth32fs8 : Depth on a 32 bits floating point, Stencil on a 8 bits integer.

    • depth32 : Depth on a 32 bits integer.

    • depth32f : Depth on a 32 bits floating point.

    • stencil1 : Stencil on 1 bit.

    • stencil8 : Stencil on a 8 bits integer.

  6. 'postfx' : value

    Defines a post render effect to use. The parameters depend on the chosen effect.

  7. 'stereo' : boolean

    Tells if we use stereoscopic display mode.

  8. 'tone_mapping' : name

    Defines the tone mapping operator to use with the render target.

  9. 'ssao' : new section

    Defines a new section describing the Screen Space Ambient Occlusion.

'ssao' section

  1. 'enabled' : boolean

    Defines the activation status of SSAO.

  2. 'high_quality' : boolean

    Defines the quality of the effect.

  3. 'radius' : real

    Defines the radius of the effect (expressesd in meters).

  4. 'bias' : real

    Defines the bias of the effect.

  5. 'intensity' : real

    Defines the intensity of the effect.

  6. 'num_samples' : int

    Defines the number of samples per pixel.

  7. 'edge_sharpness' : real

    Defines the edge sharpness, in the blur pass.

  8. 'blur_step_size' : int

    Defines the size of a step in the blur pass.

  9. 'blur_radius' : int

    Defines the blur radius.

Clone this wiki locally