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