LODGroup threshold units are now converted correctly when importing FBX files.

Implemented LOD bias setting
This commit is contained in:
2013-04-04 17:53:39 -07:00
parent 4a4eac57a4
commit bc577e1769
8 changed files with 61 additions and 14 deletions

View File

@@ -86,11 +86,13 @@ bool KRLODGroup::getLODVisibility(const KRViewport &viewport)
return true;
} else {
// return (m_max_distance == 0); // FINDME, HACK - Test code to enable only the lowest LOD group
float lod_bias = 1.0f;
float lod_bias = viewport.getLODBias();
lod_bias = pow(2.0f, lod_bias);
// Compare square distances as sqrt is expensive
float sqr_distance = (viewport.getCameraPosition() - getWorldReferencePoint()).sqrMagnitude() * (lod_bias * lod_bias);
return ((sqr_distance >= m_min_distance * m_min_distance || m_min_distance == 0) && (sqr_distance < m_max_distance * m_max_distance || m_max_distance == 0));
float sqr_min_distance = m_min_distance * m_min_distance;
float sqr_max_distance = m_max_distance * m_max_distance;
return ((sqr_distance >= sqr_min_distance || m_min_distance == 0) && (sqr_distance < sqr_max_distance || m_max_distance == 0));
}
}