void renderScene() { // // camera // gCam.mFront = glm::vec3(gCam.mDir.x, 0.0f, gCam.mDir.z); gCam.mRight = glm::vec3(-gCam.mFront.z, 0.0f, gCam.mFront.x); gModelViewMatrix = glm::lookAt(gCam.mTarget - gCam.mDir*gCam.mZoom, gCam.mTarget, glm::vec3(0.0f, 1.0f, 0.0f)); gRenderer.beginGeometryStage(gProjectionMatrix); GLint mvLoc = gRenderer.geometryStageProgram()->getUniformLocation("modelviewMatrix"); GLint normLoc = gRenderer.geometryStageProgram()->getUniformLocation("normalMatrix"); geometryUtils::TransformState ts = geometryUtils::TransformState(mvLoc, normLoc, &gModelViewMatrix); ts.setState(); gScene.render(ts); gRenderer.endGeometryStage(); gRenderer.finalStage(gModelViewMatrix, gLights); gRenderer.displayTex(DeferredRenderer::ttColor, glm::vec4(0.8f, 0.8f, 0.15, 0.15)); gRenderer.displayTex(DeferredRenderer::ttNormal, glm::vec4(0.8f, 0.5f, 0.15, 0.15)); gRenderer.displayTex(DeferredRenderer::ttPos, glm::vec4(0.8f, 0.2f, 0.15, 0.15)); }