Definition at line 347 of file mesh_mrm_skinned.h.
Public Member Functions | |
void | buildPrimitiveBlock (uint renderPass, const CPrimitiveBlock &block) |
CLod () | |
void | getRdrPassPrimitiveBlock (uint renderPass, CPrimitiveBlock &block) const |
void | optimizeTriangleOrder () |
void | serial (NLMISC::IStream &f) |
Data Fields | |
std::vector< CMRMWedgeGeom > | Geomorphs |
List of geomorph, for this LOD. | |
std::vector< uint32 > | InfluencedVertices [NL3D_MESH_SKINNING_MAX_MATRIX] |
std::vector< uint32 > | MatrixInfluences |
Skinning: list of Matrix which influence this Lod. So we know what matrix to compute. | |
uint32 | NWedges |
The number of vertex in The VB this Lod needs. | |
std::vector< CRdrPass > | RdrPass |
List of rdr pass, for this LOD. |
|
Definition at line 366 of file mesh_mrm_skinned.h.
00367 { 00368 } |
|
Definition at line 131 of file mesh_mrm_skinned.cpp. References count, NL3D::CPrimitiveBlock::getNumTri(), NL3D::CPrimitiveBlock::getTriPointer(), NL3D::CMeshMRMSkinnedGeom::CRdrPass::PBlock, uint, uint16, and uint32. Referenced by optimizeTriangleOrder().
00132 { 00133 CRdrPass &rd = RdrPass[renderPass]; 00134 const uint count = block.getNumTri(); 00135 rd.PBlock.resize (3*count); 00136 uint i; 00137 const uint32 *triPtr = block.getTriPointer (); 00138 for (i=0; i<count; i++) 00139 { 00140 rd.PBlock[i*3+0] = (uint16)(triPtr[3*i+0]); 00141 rd.PBlock[i*3+1] = (uint16)(triPtr[3*i+1]); 00142 rd.PBlock[i*3+2] = (uint16)(triPtr[3*i+2]); 00143 } 00144 } |
|
Definition at line 114 of file mesh_mrm_skinned.cpp. References count, NL3D::CMeshMRMSkinnedGeom::CRdrPass::getNumTriangle(), NL3D::CMeshMRMSkinnedGeom::CRdrPass::PBlock, NL3D::CPrimitiveBlock::setNumLine(), NL3D::CPrimitiveBlock::setNumQuad(), NL3D::CPrimitiveBlock::setNumTri(), NL3D::CPrimitiveBlock::setTri(), and uint. Referenced by optimizeTriangleOrder(), and NL3D::CMeshMRMSkinnedGeom::render().
00115 { 00116 const CRdrPass &rd = RdrPass[renderPass]; 00117 block.setNumLine (0); 00118 block.setNumQuad (0); 00119 const uint count = rd.getNumTriangle(); 00120 block.setNumTri (count); 00121 00122 uint i; 00123 for (i=0; i<count; i++) 00124 { 00125 block.setTri (i, rd.PBlock[i*3+0], rd.PBlock[i*3+1], rd.PBlock[i*3+2]); 00126 } 00127 } |
|
Definition at line 93 of file mesh_mrm_skinned.cpp. References buildPrimitiveBlock(), getRdrPassPrimitiveBlock(), NL3D::CStripifier::optimizeTriangles(), and uint.
00094 { 00095 CStripifier stripifier; 00096 00097 // for all rdrpass 00098 for(uint rp=0; rp<RdrPass.size(); rp++ ) 00099 { 00100 // stripify list of triangles of this pass. 00101 CRdrPass &pass= RdrPass[rp]; 00102 00103 CPrimitiveBlock block; 00104 getRdrPassPrimitiveBlock(rp, block); 00105 00106 stripifier.optimizeTriangles(block, block); 00107 00108 buildPrimitiveBlock(rp, block); 00109 } 00110 } |
|
|
|
List of geomorph, for this LOD.
Definition at line 353 of file mesh_mrm_skinned.h. Referenced by NL3D::CMRMBuilder::buildMeshBuildMrm(), NL3D::CMeshMRMSkinnedGeom::render(), and NL3D::CMeshMRMSkinnedGeom::updateRawSkinNormal(). |
|
Skinning: list of influenced vertices to compute, for this lod only. There is 4 array, 0th is for vertices which have only one matrix. 1st if for vertices which have only 2 matrix .... Definition at line 360 of file mesh_mrm_skinned.h. Referenced by NL3D::CMRMBuilder::buildMeshBuildMrm(), and NL3D::CMeshMRMSkinnedGeom::updateRawSkinNormal(). |
|
Skinning: list of Matrix which influence this Lod. So we know what matrix to compute.
Definition at line 362 of file mesh_mrm_skinned.h. Referenced by NL3D::CMeshMRMSkinnedGeom::applyArrayShadowSkin(), and NL3D::CMRMBuilder::buildMeshBuildMrm(). |
|
The number of vertex in The VB this Lod needs.
Definition at line 351 of file mesh_mrm_skinned.h. Referenced by NL3D::CMRMBuilder::buildMeshBuildMrm(), and NL3D::CMeshMRMSkinnedGeom::renderSkinGroupGeom(). |
|