- Timestamp:
- 07/21/08 03:12:51 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SceneEntity.cpp
r2847 r2848 45 45 LODLevel *lod = mLODLevels[i]; 46 46 47 if (lod-> mSquaredDistance> distance)47 if (lod->GetSquaredDistance() > distance) 48 48 break; 49 49 50 50 mCurrentLODLevel = i; 51 51 } 52 } 52 53 53 /*if (mLODLevels.size() > 1) 54 55 int SceneEntity::GetCurrentLODLevel() 56 { 57 if (mLODLastUpdated != LODLevel::sFrameId) 54 58 { 55 Debug << "dist: " << distance << " numshapes: " << mLODLevels[mCurrentLODLevel]->mShapes.size() << " lod: " << mCurrentLODLevel << " of " << mLODLevels.size() << endl; 56 }*/ 59 mLODLastUpdated = LODLevel::sFrameId; 60 UpdateLODs(LODLevel::sViewPoint); 61 } 62 63 return mCurrentLODLevel; 57 64 } 65 58 66 59 67 void SceneEntity::GetCurrentLODLevel(ShapeContainer::iterator &start, … … 66 74 } 67 75 68 start = mLODLevels[mCurrentLODLevel]-> mShapes.begin();69 end = mLODLevels[mCurrentLODLevel]->mShapes.end();76 start = mLODLevels[mCurrentLODLevel]->GetShapes().begin(); 77 end = mLODLevels[mCurrentLODLevel]->GetShapes().end(); 70 78 } 71 79 … … 77 85 LODLevel *lod = mLODLevels[level]; 78 86 79 start = lod-> mShapes.begin();80 end = lod-> mShapes.end();87 start = lod->GetShapes().begin(); 88 end = lod->GetShapes().end(); 81 89 } 82 90 … … 130 138 if (lodLevel == -1) 131 139 { 132 GetCurrentLODLevel(sit, sit_end); 133 } 134 else 135 { 136 GetLODLevel(lodLevel, sit, sit_end); 140 lodLevel = GetCurrentLODLevel(); 137 141 } 138 142 139 140 for (; sit != sit_end; ++ sit) 141 { 142 numTriangles += (*sit)->GetGeometry()->GetNumTriangles(); 143 } 144 145 return numTriangles; 143 return mLODLevels[lodLevel]->GetNumTriangles(); 146 144 } 147 145 … … 168 166 Matrix4x4 *mat = mTransform->GetMatrix(); 169 167 170 if (!mat) 171 return mCenter; 168 if (!mat) return mCenter; 172 169 173 170 return (*mat) * mCenter;
Note: See TracChangeset
for help on using the changeset viewer.