void renderScene() { glEnable(GL_DEPTH_TEST); glClear(GL_DEPTH_BUFFER_BIT); gl::MatrixStack & mv = gl::Stacks::modelview(); mv.withPush([&]{ mv.postMultiply(glm::inverse(player)); GlUtils::renderCubeScene(ipd, eyeHeight); }); std::string maxfps = perEyeDelay ? Platform::format("%0.2f", 500.0f / perEyeDelay) : "N/A"; renderStringAt(Platform::format("Per Eye Delay %dms\nMax FPS %s", perEyeDelay, maxfps.c_str()), glm::vec2(-0.5, 0.5)); // Simulate some really slow rendering if (0 != perEyeDelay) { Platform::sleepMillis(perEyeDelay); } }
void draw() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); std::string message = Platform::format( "Prediction Delta: %0.2f ms\n", sensorFusion.GetPredictionDelta() * 1000.0f); renderStringAt(message, -0.9f, 0.9f); gl::MatrixStack & mv = gl::Stacks::modelview(); gl::MatrixStack & pr = gl::Stacks::projection(); mv.push().rotate(predictedOrientation); GlUtils::renderArtificialHorizon(); mv.pop(); mv.push().rotate(currentOrientation); mv.scale(1.25f); GlUtils::renderArtificialHorizon(0.3f); mv.pop(); }
void draw() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); std::string message = Platform::format( "Prediction Delta: %0.2f ms\n", ovrSensorFusion.GetPredictionDelta() * 1000.0f); renderStringAt(message, -0.9f, 0.9f); gl::MatrixStack & mv = gl::Stacks::modelview(); glm::mat4 glm_mat; glm_mat = glm::make_mat4((float*) predicted.M); mv.push().transform(glm_mat); GlUtils::renderArtificialHorizon(); mv.pop(); glm_mat = glm::make_mat4((float*) actual.M); mv.push().transform(glm_mat); mv.scale(1.25f); GlUtils::renderArtificialHorizon(0.3f); mv.pop(); }