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(). |
|
1.3.6