Correct gamma in oculus, yeah!

This commit is contained in:
Sam Gateau 2019-02-01 17:14:13 -08:00
parent 8671e7c499
commit b970c31c5c
2 changed files with 13 additions and 9 deletions

View file

@ -66,8 +66,6 @@ void GraphicsEngine::initializeGPU(GLWidget* glwidget) {
}
void GraphicsEngine::initializeRender(bool disableDeferred) {
disableDeferred = true;
// Set up the render engine
render::CullFunctor cullFunctor = LODManager::shouldRender;
_renderEngine->addJob<UpdateSceneTask>("UpdateScene");

View file

@ -150,20 +150,26 @@ void OculusDisplayPlugin::hmdPresent() {
// Manually bind the texture to the FBO
// FIXME we should have a way of wrapping raw GL ids in GPU objects without
// taking ownership of the object
auto fbo = getGLBackend()->getFramebufferID(_outputFramebuffer);
glNamedFramebufferTexture(fbo, GL_COLOR_ATTACHMENT0, curTexId, 0);
render([&](gpu::Batch& batch) {
auto srcfbo = getGLBackend()->getFramebufferID(_currentFrame->framebuffer);
auto dstfbo = getGLBackend()->getFramebufferID(_outputFramebuffer);
glNamedFramebufferTexture(dstfbo, GL_COLOR_ATTACHMENT0, curTexId, 0);
auto viewport = ivec4(uvec2(), _outputFramebuffer->getSize());
/* render([&](gpu::Batch& batch) {
batch.enableStereo(false);
batch.setFramebuffer(_outputFramebuffer);
batch.setViewportTransform(ivec4(uvec2(), _outputFramebuffer->getSize()));
batch.setStateScissorRect(ivec4(uvec2(), _outputFramebuffer->getSize()));
batch.resetViewTransform();
batch.setProjectionTransform(mat4());
batch.setPipeline(_presentPipeline);
batch.setResourceTexture(0, _compositeFramebuffer->getRenderBuffer(0));
// batch.setPipeline(_presentPipeline);
batch.setPipeline(_simplePipeline);
// batch.setResourceTexture(0, _compositeFramebuffer->getRenderBuffer(0));
batch.setResourceTexture(0, _currentFrame->framebuffer->getRenderBuffer(0));
batch.draw(gpu::TRIANGLE_STRIP, 4);
});
glNamedFramebufferTexture(fbo, GL_COLOR_ATTACHMENT0, 0, 0);
});*/
glBlitNamedFramebuffer(srcfbo, dstfbo, viewport.x, viewport.y, viewport.z, viewport.w, viewport.x, viewport.y,
viewport.z, viewport.w, GL_COLOR_BUFFER_BIT, GL_NEAREST);
glNamedFramebufferTexture(dstfbo, GL_COLOR_ATTACHMENT0, 0, 0);
}
{