void Engine::Render(void) { if(GraphicsDevice != NULL) { temp = temp + movedir; if (temp > 254) { movedir = -1; } else if (temp < 1) { movedir = 1; } GraphicsDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(temp,0,0), 1.0f, 0); GraphicsDevice->BeginScene(); D3DXMATRIX YawMatrix; //input changes viewport if (Input.GetKeyState(DIK_W) == 1) { CameraPosition.z = CameraPosition.z + 0.01f; } if (Input.GetKeyState(DIK_S) == 1) { CameraPosition.z = CameraPosition.z - 0.01f; } if (Input.GetKeyState(DIK_A) == 1) { YawAngle = 0.05; } else if (Input.GetKeyState(DIK_D) == 1) { YawAngle = -0.05; } else { YawAngle = 0; } D3DXMatrixRotationAxis(&YawMatrix, &CameraUp, YawAngle); D3DXVec3TransformCoord(&CameraLook, &CameraLook, &YawMatrix); D3DXVec3TransformCoord(&CameraRight, &CameraRight, &YawMatrix); D3DXMatrixIdentity(&ViewMatrix); ViewMatrix._11 = CameraRight.x; ViewMatrix._12 = CameraUp.x; ViewMatrix._13 = CameraLook.x; ViewMatrix._21 = CameraRight.y; ViewMatrix._22 = CameraUp.y; ViewMatrix._23 = CameraLook.y; ViewMatrix._31 = CameraRight.x; ViewMatrix._32 = CameraUp.x; ViewMatrix._33 = CameraLook.x; ViewMatrix._41 = -D3DXVec3Dot(&CameraPosition, &CameraRight); ViewMatrix._42 = -D3DXVec3Dot(&CameraPosition, &CameraUp); ViewMatrix._43 = -D3DXVec3Dot(&CameraPosition, &CameraLook); GraphicsDevice->SetTransform(D3DTS_VIEW, &ViewMatrix); planet->Render(); GraphicsDevice->EndScene(); GraphicsDevice->Present(NULL, NULL, NULL, NULL); } }