|Engine Module Type String||Model|
|Module Type Usage||Multiple Type|
Model Modules enable the Drag[en]gine to load a model from a file or to save a model to a file. Models define 3D Meshes to be used in a game. Model modules are Multiple Type Modules hence you can install more than one Model module at the same time. Launchers typically search missing Model modules for you so you have only those installed that your games really use.
Model resources stored a 3D mesh that can be static or animated. The mesh is defined by a list of vertices and triangle faces. The vertices store the position as well as the texture coordinates. The faces store 3 indices into the vertex list as well as 3 normal and tangent indices. The Graphic Module uses those to calculate the normals and tangents for each face. For texturing a list of textures is defined which stores the texture name. The texture name is used to link the textures found in a Skin resources to the model. Animation support is provided using a list of bones and bone weights. The bones specify a name used for linking them to a Rig resource. The list of bone weights is located in the vertices and defines which bone influences a vertex to what extend. Models having only vertices with no bones, no bone weights or one bone with each vertex having only one bone weight is considered a simple model. Simple models are faster than their complex cousins.
Model modules contain only two functions one for loading a model from a file and the other for saving a model to a file. There are no additional informations stored otherwise.
See the following classes to get started with Model modules: