mirror of
https://github.com/JulianGro/overte.git
synced 2025-08-05 11:40:36 +02:00
Move compositing framebuffer to main GL plugin
This commit is contained in:
parent
894d29bb29
commit
64ece05f40
4 changed files with 15 additions and 9 deletions
|
@ -368,11 +368,22 @@ void OpenGLDisplayPlugin::customizeContext() {
|
||||||
_cursorPipeline = gpu::Pipeline::create(program, state);
|
_cursorPipeline = gpu::Pipeline::create(program, state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
auto renderSize = getRecommendedRenderSize();
|
||||||
|
_compositeFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create(gpu::Element::COLOR_SRGBA_32, renderSize.x, renderSize.y));
|
||||||
|
_compositeTexture = _compositeFramebuffer->getRenderBuffer(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLDisplayPlugin::uncustomizeContext() {
|
void OpenGLDisplayPlugin::uncustomizeContext() {
|
||||||
_presentPipeline.reset();
|
_presentPipeline.reset();
|
||||||
|
_cursorPipeline.reset();
|
||||||
|
_overlayPipeline.reset();
|
||||||
|
_compositeFramebuffer.reset();
|
||||||
|
_compositeTexture.reset();
|
||||||
|
withPresentThreadLock([&] {
|
||||||
|
_currentFrame.reset();
|
||||||
|
_newFrameQueue.swap(std::queue<gpu::FramePointer>());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,10 @@ protected:
|
||||||
RateCounter<> _droppedFrameRate;
|
RateCounter<> _droppedFrameRate;
|
||||||
RateCounter<> _newFrameRate;
|
RateCounter<> _newFrameRate;
|
||||||
RateCounter<> _presentRate;
|
RateCounter<> _presentRate;
|
||||||
|
|
||||||
gpu::FramePointer _currentFrame;
|
gpu::FramePointer _currentFrame;
|
||||||
|
gpu::FramebufferPointer _compositeFramebuffer;
|
||||||
|
gpu::TexturePointer _compositeTexture;
|
||||||
gpu::PipelinePointer _overlayPipeline;
|
gpu::PipelinePointer _overlayPipeline;
|
||||||
gpu::PipelinePointer _presentPipeline;
|
gpu::PipelinePointer _presentPipeline;
|
||||||
gpu::PipelinePointer _cursorPipeline;
|
gpu::PipelinePointer _cursorPipeline;
|
||||||
|
|
|
@ -118,18 +118,12 @@ void HmdDisplayPlugin::customizeContext() {
|
||||||
updateLaserProgram();
|
updateLaserProgram();
|
||||||
_laserGeometry = loadLaser(_laserProgram);
|
_laserGeometry = loadLaser(_laserProgram);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_compositeFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create(gpu::Element::COLOR_SRGBA_32, _renderTargetSize.x, _renderTargetSize.y));
|
|
||||||
_compositeTexture = _compositeFramebuffer->getRenderBuffer(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HmdDisplayPlugin::uncustomizeContext() {
|
void HmdDisplayPlugin::uncustomizeContext() {
|
||||||
|
_overlay = OverlayRenderer();
|
||||||
#if 0
|
#if 0
|
||||||
_overlayProgram.reset();
|
|
||||||
_sphereSection.reset();
|
|
||||||
_compositeFramebuffer.reset();
|
|
||||||
_previewProgram.reset();
|
_previewProgram.reset();
|
||||||
_reprojectionProgram.reset();
|
|
||||||
_laserProgram.reset();
|
_laserProgram.reset();
|
||||||
_laserGeometry.reset();
|
_laserGeometry.reset();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -93,8 +93,6 @@ protected:
|
||||||
QMap<uint32_t, FrameInfo> _frameInfos;
|
QMap<uint32_t, FrameInfo> _frameInfos;
|
||||||
FrameInfo _currentPresentFrameInfo;
|
FrameInfo _currentPresentFrameInfo;
|
||||||
FrameInfo _currentRenderFrameInfo;
|
FrameInfo _currentRenderFrameInfo;
|
||||||
gpu::FramebufferPointer _compositeFramebuffer;
|
|
||||||
gpu::TexturePointer _compositeTexture;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateLaserProgram();
|
void updateLaserProgram();
|
||||||
|
|
Loading…
Reference in a new issue