History

Render the rear view mirror in a separate target and then display it during overlay pass

Sam Gateau committed 11 years ago

Commit a5618741 parent f86c06410 files · +146 −27Browse files

Showing the changes to libraries/render-utils/src/FramebufferCache.cpp (1 of 10 files). Show all

Unified · Split

libraries/render-utils/src/FramebufferCache.cpp+8−1
@@ -39,6 +39,7 @@ void FramebufferCache::setFrameBufferSize(QSize frameBufferSize) { · 38 unmodified lines
3939 _primaryColorTexture.reset();
4040 _primaryNormalTexture.reset();
4141 _primarySpecularTexture.reset();
42+ _selfieFramebuffer.reset();
4243 _cachedFramebuffers.clear();
4344 }
4445 }
@@ -112,7 +113,6 @@ gpu::FramebufferPointer FramebufferCache::getFramebuffer() { · 67 unmodified lines
112113 return result;
113114 }
114115
115−
116116 void FramebufferCache::releaseFramebuffer(const gpu::FramebufferPointer& framebuffer) {
117117 if (QSize(framebuffer->getSize().x, framebuffer->getSize().y) == _frameBufferSize) {
118118 _cachedFramebuffers.push_back(framebuffer);
@@ -126,3 +126,10 @@ gpu::FramebufferPointer FramebufferCache::getShadowFramebuffer() { · 7 unmodified lines
126126 }
127127 return _shadowFramebuffer;
128128 }
129+
130+gpu::FramebufferPointer FramebufferCache::getSelfieFramebuffer() {
131+ if (!_selfieFramebuffer) {
132+ _selfieFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create(gpu::Element::COLOR_RGBA_32, _frameBufferSize.width(), _frameBufferSize.height()));
133+ }
134+ return _selfieFramebuffer;
135+}