Class which is able to load an animated mesh from a file.
More...
#include <nirtcpp/core/engine/IMeshLoader.hpp>
|
void | setDebugName (const c8 *newName) |
| Sets the debug name of the object.
|
|
Class which is able to load an animated mesh from a file.
If you want Nirtcpp be able to load meshes of currently unsupported file formats (e.g. .cob), then implement this and add your new Meshloader with ISceneManager::addExternalMeshLoader() to the engine.
◆ E_INDEX_TYPE_HINT
Enumerator |
---|
EITH_16BIT | Prefer to use 16-bit index buffers even if it breaks the mesh The default (and only option) before Nirtcpp 1.9
|
EITH_32BIT | Allow using 32-bit index buffers.
|
EITH_OPTIMAL | Allow 32-bit, but copy back to 16-bit when 32 is not needed. So tiny overhead (sometimes extra allocation+copying) on loading, but meshes are later more optimal. Default since Nirtcpp 1.9
|
◆ createMesh()
Creates/loads an animated mesh from the file.
- Parameters
-
file | File handler to load the file from. |
- Returns
- Pointer to the created mesh. Returns 0 if loading failed. If you no longer need the mesh, you should call IAnimatedMesh::drop(). See IReferenceCounted::drop() for more information.
◆ getIndexTypeHint()
Return current preference user has for the index type of meshbuffers.
Note that this is not necessarily the type used by the meshloader
◆ getMeshTextureLoader()
Get the texture loader used when this meshloader searches for textures.
NOTE: not all meshloaders support this interface so this can return NULL.
◆ isALoadableFileExtension()
virtual bool nirt::scene::IMeshLoader::isALoadableFileExtension |
( |
const io::path & |
filename | ) |
const |
|
pure virtual |
Returns true if the file might be loaded by this class.
This decision should be based on the file extension (e.g. ".cob") only.
- Parameters
-
filename | Name of the file to test. |
- Returns
- True if the file might be loaded by this class.
◆ setIndexTypeHint()
Give loader a hint if you would prefer 16 or 32 bit meshbuffers.
Before Nirtcpp 1.9 Nirtcpp worked mostly with 16-bit meshbuffers. Rendering 32-bit meshbuffers works, but some functions like mesh-writing and mesh manipulation might not work yet. NOTE: Most loaders will ignore this hint so far, but hopefully will care about it in the future.
◆ setMeshTextureLoader()
virtual void nirt::scene::IMeshLoader::setMeshTextureLoader |
( |
IMeshTextureLoader * |
textureLoader | ) |
|
|
inlinevirtual |
Set a new texture loader which this meshloader can use when searching for textures.
NOTE: Not all meshloaders do support this interface. Meshloaders which support it will return a non-null value in getMeshTextureLoader from the start. Setting a texture-loader to a meshloader which doesn't support it won't help.
- Parameters
-
textureLoader | The textureloader to use. When set to NULL the mesh will not load any textures. |
The documentation for this class was generated from the following file: