#include <tessellation.h>
Public Member Functions | |
void | appendTileToEachRenderPass (uint patchNumRenderableFaces) |
CTileMaterial () | |
void | renderTile (uint pass) |
void | renderTilePassLightmap () |
void | renderTilePassRGB0 () |
Data Fields | |
uint | LightMapId |
CRdrTileId | Pass [NL3D_MAX_TILE_PASS] |
CTessList< CTileFace > | TileFaceList [NL3D_MAX_TILE_FACE] |
uint32 * | TileFaceVectors [NL3D_MAX_TILE_FACE] |
uint8 | TileS |
uint8 | TileT |
|
Definition at line 72 of file tessellation.cpp. References NL3D_MAX_TILE_FACE, TileFaceVectors, and uint.
00073 { 00074 // By default, all pass are NULL. 00075 for(uint i=0; i<NL3D_MAX_TILE_FACE; i++) 00076 { 00077 TileFaceVectors[i]= NULL; 00078 } 00079 } |
|
Definition at line 83 of file tessellation.cpp. References NL3D::CPatchRdrPass::appendRdrPatchTile(), NL3D_MAX_TILE_PASS, Pass, NL3D::CRdrTileId::PatchRdrPass, and uint. Referenced by NL3D::CPatch::preRender().
00084 { 00085 for(uint i=0;i<NL3D_MAX_TILE_PASS;i++) 00086 { 00087 // If RdrPass exist, add this Material Id 00088 CPatchRdrPass *rdrPass= Pass[i].PatchRdrPass; 00089 if(rdrPass!=NULL) 00090 { 00091 /* enlarge the capacity of the pass so it can renders the tile faces of this patch. 00092 * NumRenderableFaces is really too big since the tile-material surely doesn't use all 00093 * faces of the patch (except if same texture...) 00094 * But doesn't matter. Even if all the visible Tile Surface (80m*80m) is in the same pass, 00095 * it leads to only 76K final in CLandscapeGlobals::PassTriArray: 00096 * 80*80(Visible surface at 80m max) /4 (2m*2m) *2(triangles) *2 (over-estimate) *3*4(triSize)= 00097 * 76800 00098 */ 00099 rdrPass->appendRdrPatchTile(i, &Pass[i], patchNumRenderableFaces); 00100 } 00101 } 00102 } |
|
Definition at line 592 of file patch_render.cpp. References NL3D_PROFILE_LAND_ADD_FACE_VECTOR, Pass, NL3D::CRdrTileId::PatchRdrPass, NL3D::ProfNRdrTile, NL3D::renderFaceVector(), TileFaceVectors, and uint. Referenced by NL3D::CLandscape::render().
00593 { 00594 // because precisely inserted in preRender(), and correctly tested, this tile is to be rendered, 00595 // If the pass is enabled. 00596 if(Pass[pass].PatchRdrPass) 00597 { 00598 // render tris of the good faceList. 00599 renderFaceVector(TileFaceVectors[pass]); 00600 00601 // profile. 00602 NL3D_PROFILE_LAND_ADD_FACE_VECTOR(ProfNRdrTile[pass], TileFaceVectors[pass]); 00603 } 00604 } |
|
Definition at line 620 of file patch_render.cpp. References NL3D_PROFILE_LAND_ADD_FACE_VECTOR, NL3D_TILE_PASS_LIGHTMAP, NL3D_TILE_PASS_RGB0, nlassert, Pass, NL3D::ProfNRdrTile, NL3D::renderFaceVector(), and TileFaceVectors. Referenced by NL3D::CLandscape::render().
00621 { 00622 // because precisely inserted in preRender(), and correctly tested, this tile is to be rendered, 00623 // this pass must be enabled! 00624 nlassert(Pass[NL3D_TILE_PASS_LIGHTMAP].PatchRdrPass); 00625 // render tris of the good faceList, ie the one of PassRGB0, because vertices are reused. 00626 renderFaceVector(TileFaceVectors[NL3D_TILE_PASS_RGB0]); 00627 00628 // profile. 00629 NL3D_PROFILE_LAND_ADD_FACE_VECTOR(ProfNRdrTile[NL3D_TILE_PASS_LIGHTMAP], TileFaceVectors[NL3D_TILE_PASS_RGB0]); 00630 } |
|
Definition at line 607 of file patch_render.cpp. References NL3D_PROFILE_LAND_ADD_FACE_VECTOR, NL3D_TILE_PASS_RGB0, nlassert, Pass, NL3D::ProfNRdrTile, NL3D::renderFaceVector(), and TileFaceVectors. Referenced by NL3D::CLandscape::render().
00608 { 00609 // because precisely inserted in preRender(), and correctly tested, this tile is to be rendered, 00610 // this pass must be enabled! 00611 nlassert(Pass[NL3D_TILE_PASS_RGB0].PatchRdrPass); 00612 // render tris of the good faceList. 00613 renderFaceVector(TileFaceVectors[NL3D_TILE_PASS_RGB0]); 00614 00615 // profile. 00616 NL3D_PROFILE_LAND_ADD_FACE_VECTOR(ProfNRdrTile[NL3D_TILE_PASS_RGB0], TileFaceVectors[NL3D_TILE_PASS_RGB0]); 00617 } |
|
Definition at line 207 of file tessellation.h. |
|
|
Definition at line 200 of file tessellation.h. Referenced by NL3D::CPatch::appendFaceToTileRenderList(), NL3D::CTessBlock::createFaceVectorTile(), NL3D::CPatch::recreateTileUvs(), NL3D::CTessBlock::refillFaceVectorTile(), and NL3D::CPatch::removeFaceFromTileRenderList(). |
|
Definition at line 203 of file tessellation.h. Referenced by CTileMaterial(), NL3D::CTessBlock::deleteFaceVectorTile(), renderTile(), renderTilePassLightmap(), and renderTilePassRGB0(). |
|
|