|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CCoarseMeshManager Class ReferenceManagement of coarse meshes.
More...
#include <coarse_mesh_manager.h>
Inheritance diagram for NL3D::CCoarseMeshManager:
List of all members.
Detailed Description
Management of coarse meshes.
This container will render meshes with very low polygon count efficiently.
Coarse meshes are merged in render passes. They are inserted in the render pass depending there number of vertices, with a granularity (NL3D_COARSEMESH_VERTEXBUFFER_GRANULARITY).
If NL3D_COARSEMESH_VERTEXBUFFER_GRANULARITY is 8, all meshes with 1 to 7 vertices will be rendered at the same time using the same vertex buffer, the same material and the same matrix. Then, meshes with 8 to 15 vertices will be rendered at the same time. etc..
Vertices are softly transformed in world space at the "setMatrixMesh" call.
Vertices get a uniform color per instance at the "setColorMesh" call.
All coarse meshes must use a common vertex format. It is a pos + UV vertex format. (NL3D_COARSEMESH_VERTEX_FORMAT_EXPORT)
Internally the CCoarseMeshManager store meshes with pos + UV + color vertex format, to color instances (NL3D_COARSEMESH_VERTEX_FORMAT_MGR)
Coarse meshes must use indexed triangle primitive in a single render pass in a single matrix block.
All coarse meshes musts use a single material. It is a simple mapping with alpha test rendering and a common texture.
The coarse meshes must have been preprocessed to build the common texture and remap the UV mapping coordinates in the new common texture.
The manager must have been setuped with the common texture.
NB: the manager is not renderable, because CoarseMeshManager must be rendered at end of frame in a direct call by CRenderTrav::traverse(), after coarse mesh instances added/removed in
-
Author:
-
Cyril 'Hulud' Corvazier , Nevrax France
-
Date:
-
2001
Definition at line 103 of file coarse_mesh_manager.h.
Member Typedef Documentation
typedef std::map< uint, CRenderPass > NL3D::CCoarseMeshManager::TRenderingPassMap [private]
|
|
Member Enumeration Documentation
Constructor & Destructor Documentation
NL3D::CCoarseMeshManager::CCoarseMeshManager |
( |
|
) |
|
|
Member Function Documentation
uint64 NL3D::CCoarseMeshManager::buildId |
( |
uint32 |
renderPassId, |
|
|
uint32 |
renderPassMeshId |
|
) |
[inline, static, private] |
|
IModel* NL3D::CCoarseMeshManager::creator |
( |
|
) |
[inline, static, private] |
|
CMaterial& NL3D::CCoarseMeshManager::getMaterial |
( |
|
) |
[inline] |
|
uint32 NL3D::CCoarseMeshManager::getRenderPassId |
( |
uint64 |
id |
) |
[inline, static, private] |
|
uint32 NL3D::CCoarseMeshManager::getRenderPassMeshId |
( |
uint64 |
id |
) |
[inline, static, private] |
|
void NL3D::CCoarseMeshManager::registerBasic |
( |
|
) |
[static] |
|
void NL3D::CCoarseMeshManager::removeMesh |
( |
uint64 |
id |
) |
|
|
void NL3D::CCoarseMeshManager::render |
( |
IDriver * |
drv |
) |
|
|
void NL3D::CCoarseMeshManager::setMatrixMesh |
( |
uint64 |
id, |
|
|
const CMeshGeom & |
geom, |
|
|
const CMatrix & |
matrix |
|
) |
|
|
void NL3D::CCoarseMeshManager::setTextureFile |
( |
const char * |
file |
) |
|
|
Member Data Documentation
CMaterial NL3D::CCoarseMeshManager::_Material [private]
|
|
CSmartPtr<CTextureFile> NL3D::CCoarseMeshManager::_Texture [private]
|
|
The documentation for this class was generated from the following files:
|
|