|
"L. Spiro Engine"
|
Provides rendering functionality to models. More...
#include <LSDIntermediateDrawableMeshInstance.h>
Classes | |
| struct | LSD_INTERM_MAT_LIST |
| struct | LSD_RENDER_LAYER |
| struct | LSD_RENDER_PART |
| struct | LSD_RENDER_TYPE_DATA |
Public Types | |
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_LAYER * | LPLSD_RENDER_LAYER |
|
typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_LAYER | LPCLSD_RENDER_LAYER |
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_TYPE_DATA * | LPLSD_RENDER_TYPE_DATA |
|
typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_TYPE_DATA | LPCLSD_RENDER_TYPE_DATA |
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_PART * | LPLSD_RENDER_PART |
|
typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_PART | LPCLSD_RENDER_PART |
Public Member Functions | |
| CIntermediateDrawableMeshInstance &LSE_CALL | operator= (const CIntermediateDrawableMeshInstance &_idmiOther) |
| LSSTD_ERRORS LSE_CALL | CreateGraphicsData (const CIntermediateMeshInstance &_imiInstance, const CIntermediateSharedMesh **_ppismMeshes, const CMaterial **_ppmMaterials, LSUINT32 _ui32TotalMaterials, const CModelTexture *_pmtTextures, LSUINT32 _ui32TotalTextures, const CVector< CSharedModel::LSD_MODEL_IMAGE > &_vModelImages) |
| LSVOID LSE_CALL | SetAllocator (CAllocator *_paAllocator) |
| LSE_INLINE CVector < LSD_RENDER_PART, LSUINT32 > &LSE_CALL | GetRenderParts () |
| LSVOID LSE_CALL | DebugRender (CModelTexture *_pmtTextures, LSBOOL _bOpaque) |
Protected Types | |
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_INTERM_MAT_LIST * | LPLSD_INTERM_MAT_LIST |
|
typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_INTERM_MAT_LIST | LPCLSD_INTERM_MAT_LIST |
Protected Member Functions | |
| LSUINT32 LSE_CALL | FindTextureByName (const CModelTexture *_pmtTextures, LSUINT32 _ui32Total, const CString &_sName) |
| LSUINT32 LSE_CALL | FindImageByFileName (const CVector< CSharedModel::LSD_MODEL_IMAGE > &_vModelImages, const CString &_sFileName) |
| LSVOID LSE_CALL | ComputeTangentBinormal (LSD_RENDER_PART &_rpPart, LSUINT32 _ui32Index, LSUINT32 _ui32Slot=0UL) |
Protected Attributes | |
| CVector< LSD_RENDER_PART, LSUINT32 > | m_vRenderParts |
Provides rendering functionality to models.
Class CIntermediateDrawableMeshInstance Description: Provides rendering functionality to models. This class represents one part of a model, such as an arm, leg, etc.
typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_INTERM_MAT_LIST * lsd::CIntermediateDrawableMeshInstance::LPLSD_INTERM_MAT_LIST [protected] |
An intermediate material set is used to break a mesh into the necessary vertex buffers to render it. All vertices on a mesh will have the same general properties, such as having normals, colors, number of UV layers, etc. The only difference is the number of types of materials.
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_LAYER * lsd::CIntermediateDrawableMeshInstance::LPLSD_RENDER_LAYER |
A layer in a render part.
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_PART * lsd::CIntermediateDrawableMeshInstance::LPLSD_RENDER_PART |
List of render parts.
| typedef struct lsd::CIntermediateDrawableMeshInstance::LSD_RENDER_TYPE_DATA * lsd::CIntermediateDrawableMeshInstance::LPLSD_RENDER_TYPE_DATA |
Data needed for a render type. For example, ambient-only pass, lighting pass, etc.
| LSVOID LSE_CALL lsd::CIntermediateDrawableMeshInstance::ComputeTangentBinormal | ( | LSD_RENDER_PART & | _rpPart, |
| LSUINT32 | _ui32Index, | ||
| LSUINT32 | _ui32Slot = 0UL |
||
| ) | [protected] |
Compute the tangent and binormal for a vertex. Used for normal mapping.
| _rpPart | The render part to update with the tangent and binormal. |
| _ui32Index | Index of the first vertex on the face. |
| _ui32Slot | Slot of the face. Vertices and normals are assumed to be slot 0. _ui32Slot is used for UV coordinates only. |
| LSSTD_ERRORS LSE_CALL lsd::CIntermediateDrawableMeshInstance::CreateGraphicsData | ( | const CIntermediateMeshInstance & | _imiInstance, |
| const CIntermediateSharedMesh ** | _ppismMeshes, | ||
| const CMaterial ** | _ppmMaterials, | ||
| LSUINT32 | _ui32TotalMaterials, | ||
| const CModelTexture * | _pmtTextures, | ||
| LSUINT32 | _ui32TotalTextures, | ||
| const CVector< CSharedModel::LSD_MODEL_IMAGE > & | _vModelImages | ||
| ) |
Create graphics data from the given mesh instance and shared mesh data.
| _imiInstance | The instance from which to generate graphics data. |
| _ppismMeshes | The shared mesh data needed as a reference for polygon data. |
| _ppmMaterials | Materials used by the model. |
| _ui32TotalMaterials | Total materials to which _ppmMaterials points. |
| _pmtTextures | Texture instances used by the model. |
| _ui32TotalTextures | Total textures to which _pmtTextures points. |
| _vModelImages | Model image data. |
| LSVOID LSE_CALL lsd::CIntermediateDrawableMeshInstance::DebugRender | ( | CModelTexture * | _pmtTextures, |
| LSBOOL | _bOpaque | ||
| ) |
Debug rendering of objects.
| _pmtTextures | Textures referenced by this model. |
| _bOpaque | If true, opaque objects are rendered, otherwise transparent ones are. |
| LSUINT32 LSE_CALL lsd::CIntermediateDrawableMeshInstance::FindImageByFileName | ( | const CVector< CSharedModel::LSD_MODEL_IMAGE > & | _vModelImages, |
| const CString & | _sFileName | ||
| ) | [protected] |
Find an image by its file name.
| _vModelImages | Array of images. |
| _sPath | File name of the image to find. |
| LSUINT32 LSE_CALL lsd::CIntermediateDrawableMeshInstance::FindTextureByName | ( | const CModelTexture * | _pmtTextures, |
| LSUINT32 | _ui32Total, | ||
| const CString & | _sName | ||
| ) | [protected] |
Find a texture by its name.
| _pmtTextures | Ponter to an array of textures. |
| _ui32Total | Number of textures to which _pmtTextures points. |
| _sName | Name of the texture to find. |
| LSE_INLINE CVector< CIntermediateDrawableMeshInstance::LSD_RENDER_PART, LSUINT32 > &LSE_CALL lsd::CIntermediateDrawableMeshInstance::GetRenderParts | ( | ) |
Get the render parts of this mesh for read and write.
| CIntermediateDrawableMeshInstance& LSE_CALL lsd::CIntermediateDrawableMeshInstance::operator= | ( | const CIntermediateDrawableMeshInstance & | _idmiOther | ) |
Copy operator.
| _idmiOther | The object to copy. |
| LSVOID LSE_CALL lsd::CIntermediateDrawableMeshInstance::SetAllocator | ( | CAllocator * | _paAllocator | ) |
Set the allocator for this object. Can be done only once.
| _paAllocator | The allocator to use for all data allocated by this object. |
CVector<LSD_RENDER_PART, LSUINT32> lsd::CIntermediateDrawableMeshInstance::m_vRenderParts [protected] |
Vertex buffers used by this model part.
1.7.3