» Back To Index
The <model> node
Function
The model node makes it possible to define a 3d model. In the case of Demoniak3D, a model is a
hierarchy of objects mainly made up with
meshes. Some objects like the gizmos can be present in
this hierarchy in order to be used as pivot points and to set complex hierarchies. More
simply, the model can be seen as an interface to easily modify the properties of a large number of
meshes.
Demoniak3D can directly load 3d models in the following formats:
- *.3DS (3d Studio MAX binary format)
- *.OBJ (ASCII format of Alias|Wavefront)
- *.ASE (3d Studio MAX ASCII format)
- *.TXT (MilkShape3D ASCII format)
- *.O3MDL (oZone3D engine binary format)
- *.XML (Demoniak3D own XML model format)
Actually, the 3d models loaders do not handle pivots, especially
rescaling (application of a scaling factor to the pivot points). This is particularly true for
the *.3DS format.
When modeling, it is recommended to apply the following practices:
- always give an explicit name to each meshes that is part of the 3D model. For example when modeling
a car, the mesh representing the front right wheel should be called RightFrontWheel and not Torus01
which is the default name. For the *.3DS format, do not exceed 10 characters.
- each material must always be given an explicit name. For performances reasons, it is necessary to
decrease the maximum number of materials and to avoid having several materials for only one mesh.
The ideal case is to have only one material with only one texture.
Use at the maximum the handling possibilities of the textures coordinates provided by your modeling software to pack several textures just in one
big texture. For the *.3DS format, do not give names that exceed 10 characters for materials.
In the same way, for the *.3DS, the textures filenames must respect the 8.3 format (standard format of
filenames in the DOS Operating System): 8 characters + 3 for the extension..
- for the *.OBJ format, it is strongly recommended to join the material file (*. mtl) with the
*.obj file.
General syntax
<model
name=""
filename=""
load_texture="TRUE"
render="TRUE"
texturing="FALSE"
lighting="FALSE"
improve_specular_highlights="TRUE"
normalize="FALSE"
two_sides_lighting="FALSE"
flip_normals="FALSE"
auto_spin="FALSE"
back_face_culling="FALSE"
shadow_caster="FALSE"
compute_normals="TRUE"
compute_tangent_space="TRUE"
average_normals="FALSE"
display_bounding_box="FALSE"
display_bounding_sphere="FALSE"
display_tripod="FALSE"
auto_update_direction="FALSE"
polygon_mode="SOLID"
shading_mode="SMOOTH"
motion_path=""
play_motion_path="TRUE"
display_motion_path_curve="FALSE"
display_motion_path_tangents="FALSE"
link_to_motion_path="FALSE"
motion_path_time_offset="0.0"
motion_path_time_step="0.001"
camera_collision="FALSE"
camera_collision_bv_shape="BOX"
camera_collision_entity="MODEL"
use_vbo="FALSE"
use_user_transformation="TRUE"
nx_add_to_physics_engine="FALSE"
check_crc32="0" >
<add_child
name="" />
<apply_ambient
r="0.0"
g="0.0"
b="0.0"
a="0.0" />
<apply_diffuse
r="0.0"
g="0.0"
b="0.0"
a="0.0" />
<apply_specular_exp
exp="0.0" />
<apply_specular
r="0.0"
g="0.0"
b="0.0"
a="0.0" />
<bump_mapping_attach_light
name="" />
<loading_option
load_texture="TRUE"
load_normal_map="FALSE"
pixel_format="RGB_BYTE"
auto_gen_mipmaps="FALSE"
compute_vertices_normals="TRUE"
compute_tangent_space_vectors="TRUE"
average_vertices_normals="FALSE"
free_pixmap_after_upload="FALSE"
s3tc="FALSE" />
<ambient_occlusion_lighting
ambient_occlusion_map="" />
<optimize
vertex_epsilon="0.0001"
method="NONE" />
<orientation
ang="0.0"
x="0.0"
y="0.0"
z="0.0" />
<orientation_pitch_yaw_roll
pitch="0.0"
yaw="0.0"
roll="0.0" />
<position
x="0.0"
y="0.0"
z="0.0" />
<remove_child
name="" />
<scale
x="1.0"
y="1.0"
z="1.0" />
<spin_values
x="0.0"
y="0.0"
z="0.0" />
<vertices_color
r="1.0"
g="1.0"
b="1.0"
a="1.0" />
<alpha_test_params
active="FALSE"
func="CMP_FUNC_GREATER"
ref="0.5" />
<blending_params
active="FALSE"
src_factor="BLENDING_FACTOR_SRC_ALPHA"
dst_factor="BLENDING_FACTOR_ONE_MINUS_SRC_ALPHA" />
<nx_linear_velocity
x="0.0"
y="0.0"
z="0.0"
damping="0.5"
sleep_threshold="0.14*0.14" />
<nx_angular_velocity
x="0.0"
y="0.0"
z="0.0"
damping="0.5"
sleep_threshold="0.15*0.15" />
<nx_misc_data
mass="0.0"
density="0.0"
actor_type="DYNAMIC" />
<shader_program
name=""
gpu_shader_for_ambient_pass=""
apply_to_all_materials="FALSE" />
</model>
model element
model is the xml tag that defines a model node.
Attributes:
- name - [STR127] - name of the node. This name will make it possible to refer this node throughout
the XML script.
- filename - [STR255] - name of the file of the 3d model to be loaded. The format of the 3d files
depends on the plugins available with Hyperion:
- Plugin for loading the 3DStudio binary format (*.3ds)
- Plugin for loading the 3DStudio ASCII format (*.ase)
- Plugin for loading the MilkShape3D ASCII format (*.txt)
- Plugin for loading the Alias|WaveFront ASCII format (*.obj)
Hyperion can of course load the native oZone3D engine format : the *.o3mdl format.
This format can be created with the 3d LynX viewer that may convert 3D files into the o3mdl format.
- load_texture - [BOOLEAN] - enables (TRUE) or disables (FALSE) the loading of textures while loading the model - default value: TRUE
- render - [BOOLEAN] - enables (TRUE) or disables (FALSE) the model rendering - default value: TRUE
- lighting - [BOOLEAN] - enables (TRUE) or disables (FALSE) lighting calculations - default value: FALSE
- normalize - [BOOLEAN] - enables (TRUE) or disables (FALSE) the standardization of the normals to the vertices after having used the
LUA HYP_SetObjectScale function - default value: FALSE
- two_sides_lighting - [BOOLEAN] - enables (TRUE) or disables (FALSE) lighting calculations on both sides (face and back) of every single face of the mesh - default value: FALSE
- flip_normals - [BOOLEAN] - enables (TRUE) or disables (FALSE) the inversion of the normals of the faces of the meshes - default value: FALSE
- improve_specular_highlights - [BOOLEAN] - makes it possible to improve the specular reflections rendering by using a calculation method that utilizes the true "half-vector".
The specular reflects are more realistic but this involves a slight performances fall - default value: TRUE
- texturing - [BOOLEAN] - enables (TRUE) or disables (FALSE) the application of textures - default value: FALSE
- auto_spin - [BOOLEAN] - enables (TRUE) or disables (FALSE) rotation around the axis of the local reference mark of the object.
The values of the rotation angles must be specified by the <spin_values> tag - default value: FALSE
- back_face_culling - [BOOLEAN] - enables (TRUE) or disables (FALSE) the removal of the back faces - default value: FALSE
- blending - [BOOLEAN] - enables (TRUE) or disables (FALSE) the mixture of the colors - default value: FALSE
- use_vbo - [BOOLEAN] - enables (TRUE) or disables (FALSE) the use of the vertex buffer objects to accelerate mesh rendering - default value: FALSE
use_vbo makes it possible to use the vertex-buffer materials (the famous VBO in OpenGL) in order to effectively store the mesh vertices into the graphics board memory.
It is recommended to activate this state for static meshes featuring a great number of polygons. A mesh is static if it
does not undergo any geometric transformation on its vertices.
- shadow_caster - [BOOLEAN] - enables (TRUE) or disables (FALSE) the projection of volumic shadows - default value: FALSE
- compute_normals - [BOOLEAN] - enables (TRUE) or disables (FALSE) the computing of vertices normals - default value: TRUE
- compute_tangent_space - [BOOLEAN] - enables (TRUE) or disables (FALSE) the computing of vertices tangent space normals (useful for bump mapping) - default value: TRUE
- average_normals - [BOOLEAN] - enables (TRUE) or disables (FALSE) the averaging of the vertices normals - default value: FALSE
- display_bounding_box - [BOOLEAN] - enables (TRUE) or disables (FALSE) bounding box rendering - default value: FALSE
- display_bounding_sphere - [BOOLEAN] - enables (TRUE) or disables (FALSE) bounding sphere rendering - default value: FALSE
- display_tripod - [BOOLEAN] - displays (TRUE) or hides (FALSE) the mesh local reference mark - default value: FALSE
Remark: The axis of the tripod are represented with the following colors:
- X axis: red
- Y axis: green
- Z axis: blue
- auto_update_direction - [BOOLEAN] - enables (TRUE) or disables (FALSE) the automatic direction update (Z axis)
of the object's local reference mark (tripod) - default value: FALSE
- polygon_mode - [ENUM] - specifies the rendering mode the mesh faces:
- SOLID: the faces are filled (solid) - default value
- WIREFRAME: the faces are rendered in wire
- shading_mode - [ENUM] - specifies the way in which the faces are colored:
- FLAT: the faces are colored in a uniform way
- SMOOTH: the faces are colored in order to form a colour gradation - default value
- motion_path - [STR127] - name of the motion path to which one attaches the gizmo in order to perform automatic displacements
- play_motion_path - [BOOLEAN] - enables (TRUE) or disables (FALSE) the animation of the position along a motion path - default value: TRUE
- display_motion_path_curve - [BOOLEAN] - displays (TRUE) or hides (FALSE) the motion path - default value: FALSE
- display_motion_path_tangents - [BOOLEAN] - displays (TRUE) or hides (FALSE) the motion path tangents - default value: FALSE
- motion_path_time_step - [REAL] - makes it possible to control the animation speed by specifying the temporal increment along the motion-path.
Time is standardized along the motion-path, i.e time equals 0.0 for the first keyframe and 1.0 for the last one - default value: 0.001
- motion_path_time_offset - [REAL] - makes it possible to control the starting time value of the animation.
By default this starting value is the standardized time 0.0. This offset makes it possible to place several objects on one
motion-path with a time-lag (offset) between each one of them - default value: 0.0
- check_crc32 - [INTERGER] - performs a crc32 type integrity test on the 3d file while loading.
This kind of test is useful to control if the right model has been loaded.
That makes it therefore impossible to falsify a Hyperion scene delivered in a binary format : even if the
description code of the scene is in binary format, textures and other 3d objects are always accessible
in the ususal files type. Anybody could appropriate a project by falsifying some textures or models.
The crc32 code of a file can be obtained with the Hyperion_CRC32.exe utility - default value: FALSE
- camera_collision - [BOOLEAN] - makes it possible to take (TRUE) or not to take (FALSE) into account of this model in the calculations of collisions with the camera.
The calculation of the collision is based on the including box of the mesh (bounding box) and on the position of the camera - default value: FALSE
- camera_collision_bv_shape - [ENUM] - makes it possible to specify the shape of the including volume for the collision tests.
The shape of the including volume is to be chosen according to the topology of the model:
- BOX: bounding box - default value
- SPHERE: bounding sphere
- camera_collision_entity - [ENUM] - makes it possible to specify which including volume is used for the collision detection:
either that of the complete model or those of submeshes for more precision:
- MODEL: the including volume of the model is used in the collision calculations - default value.
- MESH: the including volume of each one of the submeshes is used in the collision calculations.
- group - [STR127] - name of the group in which to add the current node. A group makes it possible to control the
behavior of several objects in a single way.
- nx_add_to_physics_engine - [BOOLEAN] - makes it possible to add (TRUE) or not add (FALSE) this object in
the scene of the physical simulation engine. This makes sense only if the physical engine (NovodeX)
is available and if it has been activated in the scene node - default value: FALSE
- use_user_transformation - [BOOLEAN] - allows to use the user's settings for the position and the orientation of the model.
In the case of the O3MFF format, the transformation matrix is already initialized. In order to use this matrix you have to disable user's setting -
default value: TRUE
loading_option element
loading_option makes it possible to modify the default options of the 3d objects loaders. Several calls to loading_option
make it possible to modify several options.
Attributes:
- load_texture - [BOOLEAN] - enables the automatic loading of textures with the model.
It has the same effect as the load_texture attribute of the model node - default value: TRUE
- load_normal_map - [BOOLEAN] - loads bump textures (the normals maps) of the model when the bump mapping
is performed with a pixel shader - default value: FALSE
These textures have the same basic name as the base textures but with the DOT3 suffix. Example:
- base: wood.tga
- bump: woodDOT3.tga
The base map is loaded on the texture unit 0 and the normal map on the unit 1.
- pixel_format - [ENUM] - specifies the pixel format of each texture - default value: RGB_BYTE
- RGB_BYTE: pixel coded on 3 bytes (1 byte for each component) - default value
- RGBA_FLOAT: pixel coded on 16 bytes (4 bytes for each component)
- s3tc - [BOOLEAN] - enables compression hardware of texture according to the S3TC diagram - default value: FALSE
- auto_gen_mipmaps - [BOOLEAN] - enables the hardware mipmaps generation for textures accompanying the
model. In this case, trilinear filtering is activated - default value - default value: FALSE
- compute_vertices_normals - [BOOLEAN] - enables calculations of the normal vectors (faces and vertices) necessary for
lighting - default value: TRUE
- compute_tangent_space_vectors - [BOOLEAN] - enables calculations of the space tangent vectors.
These vectors, more known as the tangent vectors and the binormal vectors are used in the bump mapping algorithms - default value: TRUE
- average_vertices_normals - [BOOLEAN] - enables the averaging of vertices normals - default value: FALSE
- free_pixmap_after_upload - [BOOLEAN] - allows to destroy the pixmap and to release the system memory after the texture has been transfered on
the graphics controller - default value: FALSE
orientation element
orientation specifies the orientation of the model around an arbitrary axis in its local reference mark.
Attributes:
- ang - [REAL] - Rotation angle in degrees - default value: 0.0
- x - [CLAMPED_REAL] - X component of the rotation axis - default value: 0.0
- y - [CLAMPED_REAL] - Y component of the rotation axis - default value: 0.0
- z - [CLAMPED_REAL] - Z component of the rotation axis - default value: 0.0
Example
<model>
<orientation ang="90.0" x="0.0" y="0.0" z="1.0" />
</model>
In this example, the model performs a rotation of 90.0 degrees around the Z axis.
orientation_pitch_yaw_roll element
orientation_pitch_yaw_roll specifies the orientation of the model around the axis of its local reference
mark.
Attributes:
- pitch - [REAL] - Rotation angle in degrees around the X axis - default value: 0.0
- yaw - [REAL] - Rotation angle in degrees around the Y axis - default value: 0.0
- roll - [REAL] - Rotation angle in degrees around the Z axis - default value: 0.0
Example
<model>
<orientation_pitch_yaw_roll pitch="30.0" yaw="45.0" roll="0.0" />
</model>
In this example, the model makes a rotation of 30.0 degrees around the X axis and of 45.0 degrees
around the Y axis.
position element
position specifies the X, Y and Z position of the model in its local reference mark or compared to its parent.
Attributes:
- x - [REAL] - X coordinate of the position - default value: 0.0
- y - [REAL] - Y coordinate of the position - default value: 0.0
- z - [REAL] - Z coordinate of the position - default value: 0.0
spin_values element
spin_values specifies the rotation angles around the X, Y and Z axis. At each frame, the rotation angles
of the model are incremented by the specified values. This generates an animation of the model
by doing a simple rotation around the 3 axis.
Attributes:
- pitch - [REAL] - Rotation angle in degrees around the X axis - default value: 0.0
- yaw - [REAL] - Rotation angle in degrees around the Y axis - default value: 0.0
- roll - [REAL] - Rotation angle in degrees around the Z axis - default value: 0.0
Remarks
The previous values take effect only if the spin_state attribute is set to TRUE.
scale element
scale makes it possible to perform a scaling of the model by multiplication of the vertices with
the scale factors. It is then possible to perform uniform or non uniform scalings.
Attributes:
- x - [REAL] - X scaling factor - default value: 1.0
- y - [REAL] - X scaling factor - default value: 1.0
- z - [REAL] - X scaling factor - default value: 1.0
vertices_color element
vertices_color specifies the new color to be applied to all the vertices (3d vertex) of each one of
the model submeshes.
Attributes:
- r - [CLAMPED_REAL] - red component. Float value ranging between 0.0 and 1.0 - default value: 1.0
- g - [CLAMPED_REAL] - green component. Float value ranging between 0.0 and 1.0 - default value: 1.0
- b - [CLAMPED_REAL] - blue component. Float value ranging between 0.0 and 1.0 - default value: 1.0
- a - [CLAMPED_REAL] - alpha component. Float value ranging between 0.0 and 1.0 - default value: 1.0
Remarks
The color of the vertices takes effect only if lighting is disabled for this model. See the lighting attribute to disable the lighting.
apply_ambient element
apply_ambient allows to apply a new value of the ambient reflection coefficient to the first material of
each submesh.
Attributes:
- r - [CLAMPED_REAL] - red component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- g - [CLAMPED_REAL] - green component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- b - [CLAMPED_REAL] - blue component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- a - [CLAMPED_REAL] - alpha component. Float value ranging between 0.0 and 1.0 - default value: 0.0
apply_diffuse element
apply_diffuse makes it possible to apply a new value of the diffuse reflection coefficient to the first
material of each submesh.
Attributes:
- r - [CLAMPED_REAL] - red component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- g - [CLAMPED_REAL] - green component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- b - [CLAMPED_REAL] - blue component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- a - [CLAMPED_REAL] - alpha component. Float value ranging between 0.0 and 1.0 - default value: 0.0
apply_specular element
apply_specular makes it possible to apply a new value of the specular reflection coefficient to the first
material of each submesh.
Attributes:
- r - [CLAMPED_REAL] - red component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- g - [CLAMPED_REAL] - green component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- b - [CLAMPED_REAL] - blue component. Float value ranging between 0.0 and 1.0 - default value: 0.0
- a - [CLAMPED_REAL] - alpha component. Float value ranging between 0.0 and 1.0 - default value: 0.0
apply_specular_exp element
apply_specular_exp makes it possible to apply a new value of the exponential specular reflection coefficient to the first
material of each submesh.
Attributes:
- r - [REAL] - exponent of the specular reflection coefficient - default value: 0.0
alpha_test_params element
alpha_test_params makes it possible to set the parameters for the alpha-test hardware.
Attributes:
- active - [BOOLEAN] - enables or disables the alpha test - default value: FALSE
- func - [ENUM] - alpha comparison function. The following symbolic constant are accepted:
- CMP_FUNC_NEVER: the test never passes.
- CMP_FUNC_LESS: the test passes if the alpha value is smaller than the reference value.
- CMP_FUNC_LESS_OR_EQUAL: the test passes if the alpha value is smaller or equal to the reference value.
- CMP_FUNC_GREATER: the test passes if the alpha value is greater than the reference value - default value
- CMP_FUNC_GREATER_OR_EQUAL: the test passes if the alpha value is greater or equal to the reference value.
- CMP_FUNC_EQUAL: the test passes if the alpha value is equal to the reference value.
- CMP_FUNC_NOT_EQUAL: the test passes if the alpha value is different from the reference value.
- CMP_FUNC_ALWAYS: the test always passes.
- ref - [CLAMPED_REAL] - reference value with which the entering alpha value is compared. This
reference value must lie between 0.0 and 1.0 - default value: 0.5
blending_params element
blending_params makes it possible to set the parameters for the blending (mixture) of the colors.
Attributes:
- active - [BOOLEAN] - enables or disables the blending - default value: FALSE
- src_factor - [ENUM] - specifies the blending source factor - default value: BLENDING_FACTOR_SRC_ALPHA
blending_dst_factor specifies the destination factor in the blending equation :
C = Cs*Sf + Cd*Df
where C is the final (R, G, B, A) color, Cs the (Rs, Gs, Bs, As) source (or entering) color
and Cd is the (Rd, Gd, Bd, Ad) color present in the framebuffer .
Sf is the (Sr, Sg, Sb, Sa) blending source factor and Df is the (Dr, Dg, Db, Da) blending destination factor.
- BLENDING_FACTOR_ZERO: (0 0 0 0)
- BLENDING_FACTOR_ONE: (1 1 1 1)
- BLENDING_FACTOR_SRC_ALPHA: (As, As, As, As)
- BLENDING_FACTOR_ONE_MINUS_DST_ALPHA: (1-Ad, 1-Ad, 1-Ad, 1-Ad)
- BLENDING_FACTOR_ONE_MINUS_DST_COLOR: (1-Rd, 1-Gd, 1-Bd, 1-Ad)
- BLENDING_FACTOR_ONE_MINUS_SRC_ALPHA: (1-As, 1-As, 1-As, 1-As)
- BLENDING_FACTOR_DST_COLOR: (Rd, Gd, Bd, Ad)
- BLENDING_FACTOR_DST_ALPHA: (Ad, Ad, Ad, Ad)
- BLENDING_FACTOR_SRC_COLOR: (Rs, Gs, Bs, As)
- BLENDING_FACTOR_ONE_MINUS_SRC_COLOR: (1-Rs, 1-Gs, 1-Bs, 1-As)
- dst_factor - specifies the blending destination factor. Please refer to the src_factor to
see the acceptable
values - default value: BLENDING_FACTOR_ONE_MINUS_SRC_ALPHA
bump_mapping_attach_light element
bump_mapping_attach_light specifies the light to be taken into account for the DOT3 bump mapping. Several
calls to mesh_bump_mapping_attach_light will allow to attach several lights.
This instruction is to be used when the LOAD_BUMP_MAP option has been used for the 3d model loading..
Attributes:
- name - [STR127] - name of the light node to be attached
optimize element
optimize makes it possible to optimize the geometry of a polygonal mesh. This is useful when one
wants to apply deformation effects to the meshes. By default, the volumic shadows engine optimizes
all the meshes.
Attributes:
- method - [ENUM] - optimization method. The following values are accepted:
- NONE: does not apply any optimization.
- VERTICES: optimize the vertices: remove the isolated vertices and merges the vertices that have the same
position (by considering an epsilon tolerance adjustable with vertex_epsilon).
- ALL: optimizes the vertices (like the VERTICES mode) and the faces (removal of the degenerated faces).
- vertex_epsilon - [REAL] - makes it possible to specify the tolerance for merging the vertices
(in the VERTICES optimization mode) - default value: 0.0001
add_child element
add_child makes it possible to add a child to the current mesh. That makes it possible to easily set up
complex hierarchies. Any transformation (rotation or translation) of the current mesh will have repercussions on the
children.
Attributes:
- name - [STR127] - name of the child object to be added. Of course, this object must exist.
remove_child element
remove_child makes it possible to remove a child from the current model.
That makes it possible to easily set up complex hierarchies.
Attributes:
- name - [STR127] - name of the child object to be removed. This object must exist.
ambient_occlusion_lighting element
ambient_occlusion_lighting makes it possible to specify data in order to implement an advanced lighting
algorithm : the Ambient Occlusion Lighting. But the Ambient Occlusion Lighting technique requires a vertex/pixel
shader in order to correctly exploit the occlusion data (these data are generally stored in
a file called occlusion-map).
The occlusion map creation is an offline stage because it is a time consuming process (several hours).
For this reason, Hyperion is delivered with the AOGen utility (command line tool), which will generate
this occlusion map.
See the
Ambient Occlusion Lighting tutorial for more information
about this lighting technique and about AOGen use.
Attributes:
- active - [BOOLEAN] - TRUE pour autoriser l'initialisation des données d'occlusion et FALSE dans le cas contraire.
- ambient_occlusion_map - [STR255] - occlusion map.
- vertex_attrib - [INTEGER] - allows to specify the vertex attribute in which loading occlusion data.
In the current version of Hyperion, only attributes 1, 2, 3, 4 andt 5 are allowed. These attributes are then accessible in a vertex shader
(with the GLSL keyword attribute).
nx_linear_velocity element
nx_linear_velocity makes it possible to specify the linear velocity of an object.
The speed parameters are taken into account only if the physical simulation engine has been
activated in the scene node.
Attributes:
- x - [REAL] - X coordinate of the gravity vector - default value: 0.0
- y - [REAL] - Y coordinate of the gravity vector - default value: -9.81
- z - [REAL] - Z coordinate of the gravity vector - default value: 0.0
- damping - [REAL] - damping speed factor - default value: 0.5
- sleep_threshold - [REAL] - sleeping threshold - default value: 0.14*0.14
nx_angular_velocity element
nx_angular_velocity makes it possible to specify the angular velocity of an object. The speed parameters
are taken into account only if the physical simulation engine has been activated in the scene node.
Attributes:
- x - [REAL] - X coordinate of the gravity vector - default value: 0.0
- y - [REAL] - Y coordinate of the gravity vector - default value: -9.81
- z - [REAL] - Z coordinate of the gravity vector - default value: 0.0
- damping - [REAL] - damping speed factor - default value: 0.5
- sleep_threshold - [REAL] - sleeping threshold - default value: 0.15*0.15
nx_misc_data element
nx_misc_data makes it possible to specify the angular velocity of an object. The speed parameters
are taken into account only if the physical simulation engine has been activated in the scene node.
Attributes:
- mass - [REAL] - mass of the object - default value: 100.0
- density - [REAL] - density of the object - default value: 0.0
- actor_type - [ENUM] - actor type (object):
- STATIC
- DYNAMIC - default value.
- KINEMATIC
shader_program element
shader_program allows to apply a vertex pixel shader to all materials that compound model sub-meshes.
Attributs:
- name - [STR127] - name of the main shader (the one that is used in the material node). In the case of shadow volumes rendering
this shader is used for illumination pass.
- gpu_shader_for_ambient_pass - [STR127] - name of the shader for shadow volumes ambient pass.
- apply_to_all_materials - [BOOLEAN] - enable (TRUE) ou disable (FALSE) the application of shaders to materials- default value: FALSE