--------------------------------------------------------------------------------
| 302 | |
| 303 | // -------------------------------------------------------------------------------- |
| 304 | void EveDistanceField::RenderDebugInfo( ITr2DebugRenderer2& renderer ) |
| 305 | { |
| 306 | if( !renderer.HasOption( this, "DistanceField" ) ) |
| 307 | { |
| 308 | return; |
| 309 | } |
| 310 | m_debug = true; |
| 311 | |
| 312 | // Show the dimension and midpoint of the field |
| 313 | const Vector3 aabbMin = m_middle - m_dimensions * 0.5f; |
| 314 | const Vector3 aabbMax = m_middle + m_dimensions * 0.5f; |
| 315 | renderer.DrawSphere( this, m_middle, 1000.f, 3, Tr2DebugRenderer::Wireframe, 0xff00ff00 ); |
| 316 | renderer.DrawBox( this, aabbMin, aabbMax, Tr2DebugRenderer::Wireframe, 0xff00ff00 ); |
| 317 | char str[128]; |
| 318 | sprintf_s( str, "Object Count: %zd", m_objects.GetSize() ); |
| 319 | renderer.DrawText( TRI_DBG_FONT_LARGE, m_middle, 0xff00ff00, str ); |
| 320 | |
| 321 | for( auto it = m_debugPositions.begin(); it != m_debugPositions.end(); ++it ) |
| 322 | { |
| 323 | const Vector3 pos = *it; |
| 324 | renderer.DrawLine( this, m_middle, pos, 0x7f00ff00 ); |
| 325 | renderer.DrawSphere( this, pos, m_minDistance, 8, Tr2DebugRenderer::Wireframe, 0x3f3f3f3f ); |
| 326 | renderer.DrawSphere( this, pos, m_maxDistance, 8, Tr2DebugRenderer::Wireframe, 0x1f1f1f1f ); |
| 327 | } |
| 328 | } |