41 m_pRootElement = ms_pCurrentContext->GetRootElement();
42 m_pRootElement->SetDimensions( 800.0f, 600.0f );
43 m_pRootElement->SetPostRenderCallback( MainPostRenderCallback );
49 auto pDebugCanvas = ms_pCurrentContext->GetDebugCanvas();
53 m_oFPS.Create( pFont, 600.0f );
56 m_oFPS.SetTransform( 0.0f, 0.0f );
58 if ( m_bShowFPSInfo ) m_oFPS.Show();
60 pDebugCanvas->AddChildTail( m_oFPS );
63 m_oPlayerInfo.Create( pFont, 600.0f );
66 m_oPlayerInfo.SetTransform( 0.0f, 24.0f );
68 if ( m_bShowPlayerInfo ) m_oPlayerInfo.Show();
69 else m_oPlayerInfo.Hide();
70 pDebugCanvas->AddChildTail( m_oPlayerInfo );
73 m_oTexturesInfo.Create( pFont, 600.0f );
76 m_oTexturesInfo.SetTransform( 0.0f, 48.0f );
78 if ( m_bShowTexturesInfo ) m_oTexturesInfo.Show();
79 else m_oTexturesInfo.Hide();
80 pDebugCanvas->AddChildTail( m_oTexturesInfo );
83 m_oMemStats.Create( pFont, 600.0f );
86 m_oMemStats.SetTransform( 0.0f, 72.0f );
88 if ( m_bShowMemStatsInfo ) m_oMemStats.Show();
89 else m_oMemStats.Hide();
90 pDebugCanvas->AddChildTail( m_oMemStats );
93 m_oMouseCursor.Create(
"Pointer_Up",
"Pointer_Down", 0.5f );
100 if ( m_bShowMemStatsInfo )
102 static TFLOAT s_UpdateTimer = 10.0f;
103 s_UpdateTimer += a_fDeltaTime;
105 if ( s_UpdateTimer >= 1.0f )
113 L
"Mem Used: %u, Free: %u\nHoles: %u, Largest: %u",
120 m_oMemStats.SetText( m_wszMemStats );
121 s_UpdateTimer = 0.0f;
125 if ( m_bShowFPSInfo )
127 static TFLOAT s_FPS = 0.0f;
128 static TFLOAT s_UpdateTimer = 0.0f;
129 s_UpdateTimer += a_fDeltaTime;
131 if ( s_UpdateTimer > 0.1f )
134 s_UpdateTimer = 0.0f;
144 m_oFPS.SetText( m_wszFPS );
146 if ( s_FPS >= 15.0f )
148 m_oFPS.SetColour( s_FPS < 20.0f ? 0xffffff00 : 0xffffffff );
152 m_oFPS.SetColour( 0xffff0000 );
156 if ( m_bShowPlayerInfo )
158 TWCHAR wszPlayerInfo[ 128 ];
160 TTODO(
"Print debug info about player" );
162 TWCHAR wszCameraInfo[ 128 ];
165 auto pCameraManager = ACameraManager::GetSingleton();
167 if (
TNULL != pCameraManager )
169 auto pCamera = pCameraManager->GetCurrentCamera();
173 auto vCamTranslation = pCamera->GetMatrix().GetTranslation();
178 L
"%s: (%0.02f, %0.02f, %0.02f)",
194 m_oPlayerInfo.SetText( m_wszPlayerInfo );
197 if ( m_bShowTexturesInfo )
199 auto iNumFreeTextures = AMaterialLibraryManager::GetSingleton()->GetNumFreeTextures();
200 auto iNumUsedTextures = AMaterialLibraryManager::GetSingleton()->GetNumUsedTextures();
205 L
"Textures: (F:%d,U:%d)/%d",
211 m_oTexturesInfo.SetText( m_wszTexturesInfo );
213 if ( iNumFreeTextures >= 20 )
215 m_oTexturesInfo.SetColour( iNumFreeTextures < 50 ? 0xffffff00 : 0xffffffff );
219 m_oTexturesInfo.SetColour( 0xffff0000 );
223 m_oMouseCursor.Update();
224 ms_pCurrentContext->Tick( a_fDeltaTime );