Photo of rendering without cegui:

With CEGUI:

The init function:
Code: Select all
cGui::cGui(LPDIRECT3DDEVICE9 d3ddev)
{
CEGUI::Direct3D9Renderer* myRenderer = NULL;
try{
myRenderer = &CEGUI::Direct3D9Renderer::bootstrapSystem(d3ddev);
}catch(CEGUI::Exception &e){
std::stringstream s;
s << "File :" << e.getFileName().c_str() << std::endl;
s << "Message :" << e.getMessage().c_str() << std::endl;
mApp->logError(s.str());
}
set_CEGUI_paths() ;
SchemeManager::getSingleton().create("TaharezLook.scheme") ;
System::getSingleton().setDefaultMouseCursor("TaharezLook", "MouseArrow" ) ;
create_gui(WindowManager::getSingleton());
return ;
}
The render function:
Code: Select all
d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
d3ddev->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
d3ddev->BeginScene();
mTime->refresh();
mInput->refresh();
mCamera->getCamera(&cam);
mCamera->update();
mTerrain->render();
v.X = 4.0f;
v.Y = 1.0f;
v.Z = 4.0f;
d3ddev->SetTexture(0, NULL);
d3ddev->SetFVF(LINEFVF);
d3ddev->SetStreamSource(0, v_cube, 0, sizeof(LINEVERTEX));
d3ddev->SetIndices(i_cube);
D3DXMATRIX matWorld,matScale,matOut;
D3DXMatrixIdentity(&matWorld);
D3DXMatrixTranslation(&matWorld, v.X, v.Y, v.Z);
D3DXMatrixScaling(&matScale, 0.2f,0.2f,0.2f);
D3DXMatrixMultiply(&matOut, &matScale, &matWorld);
d3ddev->SetTransform(D3DTS_WORLD, &matOut);
for (int i = 0; i < 6; i++) {
d3ddev->DrawIndexedPrimitive(
D3DPT_TRIANGLESTRIP,
0,
0,
8,
i*4,
2);
}
D3DXMatrixIdentity(&matWorld);
d3ddev->SetTransform(D3DTS_WORLD, &matWorld);
mGui->render(); //LOOK : comment this line when i want render the 3d terrain.
d3ddev->EndScene();
d3ddev->Present(NULL, NULL, NULL, NULL);