Commit ca6ec7f8 authored by hybrid's avatar hybrid

Minor code optimization, indentation fixes.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4007 dfc29bdd-3216-0410-991c-e03cc46cb475
parent b5c7c969
......@@ -579,7 +579,7 @@ namespace scene
void CTerrainSceneNode::preRenderCalculationsIfNeeded()
{
scene::ICameraSceneNode * camera = SceneManager->getActiveCamera();
if(!camera)
if (!camera)
return;
// Determine the camera rotation, based on the camera direction.
......@@ -615,18 +615,15 @@ namespace scene
OldCameraUp = cameraUp;
OldCameraFOV = CameraFOV;
preRenderLODCalculations();
preRenderIndicesCalculations();
}
void CTerrainSceneNode::preRenderLODCalculations()
{
scene::ICameraSceneNode * camera = SceneManager->getActiveCamera();
if(!camera)
if (!camera)
return;
const core::vector3df cameraPosition = camera->getAbsolutePosition();
......@@ -640,23 +637,16 @@ namespace scene
{
if (frustum->getBoundingBox().intersectsWithBox(TerrainData.Patches[j].BoundingBox))
{
const f32 distance = (cameraPosition.X - TerrainData.Patches[j].Center.X) * (cameraPosition.X - TerrainData.Patches[j].Center.X) +
(cameraPosition.Y - TerrainData.Patches[j].Center.Y) * (cameraPosition.Y - TerrainData.Patches[j].Center.Y) +
(cameraPosition.Z - TerrainData.Patches[j].Center.Z) * (cameraPosition.Z - TerrainData.Patches[j].Center.Z);
const f32 distance = cameraPosition.getDistanceFromSQ(TerrainData.Patches[j].Center);
for (s32 i = TerrainData.MaxLOD - 1; i >= 0; --i)
TerrainData.Patches[j].CurrentLOD = 0;
for (s32 i = TerrainData.MaxLOD - 1; i>0; --i)
{
if (distance >= TerrainData.LODDistanceThreshold[i])
{
TerrainData.Patches[j].CurrentLOD = i;
break;
}
//else if (i == 0)
{
// If we've turned off a patch from viewing, because of the frustum, and now we turn around and it's
// too close, we need to turn it back on, at the highest LOD. The if above doesn't catch this.
TerrainData.Patches[j].CurrentLOD = 0;
}
}
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment