Showing the changes to libraries/render-utils/src/FramebufferCache.cpp (1 of 23 files). Show all
Unified · Split
| @@ -33,7 +33,7 @@ void FramebufferCache::setFrameBufferSize(QSize frameBufferSize) { · 32 unmodified lines | |||
| 33 | //If the size changed, we need to delete our FBOs | 33 | //If the size changed, we need to delete our FBOs |
| 34 | if (_frameBufferSize != frameBufferSize) { | 34 | if (_frameBufferSize != frameBufferSize) { |
| 35 | _frameBufferSize = frameBufferSize; | 35 | _frameBufferSize = frameBufferSize; |
| 36 | _primaryFramebuffer.reset(); | 36 | /* _primaryFramebuffer.reset(); |
| 37 | _primaryDepthTexture.reset(); | 37 | _primaryDepthTexture.reset(); |
| 38 | _primaryColorTexture.reset(); | 38 | _primaryColorTexture.reset(); |
| 39 | _deferredFramebuffer.reset(); | 39 | _deferredFramebuffer.reset(); |
| @@ -41,11 +41,11 @@ void FramebufferCache::setFrameBufferSize(QSize frameBufferSize) { · 1 unmodified line | |||
| 41 | _deferredColorTexture.reset(); | 41 | _deferredColorTexture.reset(); |
| 42 | _deferredNormalTexture.reset(); | 42 | _deferredNormalTexture.reset(); |
| 43 | _deferredSpecularTexture.reset(); | 43 | _deferredSpecularTexture.reset(); |
| 44 | _selfieFramebuffer.reset(); | 44 | */ _selfieFramebuffer.reset(); |
| 45 | _cachedFramebuffers.clear(); | 45 | _cachedFramebuffers.clear(); |
| 46 | _lightingTexture.reset(); | 46 | /* _lightingTexture.reset(); |
| 47 | _lightingFramebuffer.reset(); | 47 | _lightingFramebuffer.reset(); |
| 48 | _depthPyramidFramebuffer.reset(); | 48 | */ _depthPyramidFramebuffer.reset(); |
| 49 | _depthPyramidTexture.reset(); | 49 | _depthPyramidTexture.reset(); |
| 50 | _curvatureFramebuffer.reset(); | 50 | _curvatureFramebuffer.reset(); |
| 51 | _curvatureTexture.reset(); | 51 | _curvatureTexture.reset(); |
| @@ -57,17 +57,17 @@ void FramebufferCache::setFrameBufferSize(QSize frameBufferSize) { · 5 unmodified lines | |||
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | void FramebufferCache::createPrimaryFramebuffer() { | 59 | void FramebufferCache::createPrimaryFramebuffer() { |
| 60 | _primaryFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 60 | /* _primaryFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 61 | _deferredFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 61 | _deferredFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 62 | _deferredFramebufferDepthColor = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 62 | _deferredFramebufferDepthColor = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 63 | 63 | */ | |
| 64 | auto colorFormat = gpu::Element::COLOR_SRGBA_32; | 64 | auto colorFormat = gpu::Element::COLOR_SRGBA_32; |
| 65 | auto linearFormat = gpu::Element::COLOR_RGBA_32; | 65 | auto linearFormat = gpu::Element::COLOR_RGBA_32; |
| 66 | auto width = _frameBufferSize.width(); | 66 | auto width = _frameBufferSize.width(); |
| 67 | auto height = _frameBufferSize.height(); | 67 | auto height = _frameBufferSize.height(); |
| 68 | 68 | ||
| 69 | auto defaultSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_POINT); | 69 | auto defaultSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_POINT); |
| 70 | _primaryColorTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); | 70 | /* _primaryColorTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); |
| 71 | 71 | ||
| 72 | _primaryFramebuffer->setRenderBuffer(0, _primaryColorTexture); | 72 | _primaryFramebuffer->setRenderBuffer(0, _primaryColorTexture); |
| 73 | 73 | ||
| @@ -81,10 +81,10 @@ void FramebufferCache::createPrimaryFramebuffer() { · 7 unmodified lines | |||
| 81 | _deferredFramebuffer->setRenderBuffer(2, _deferredSpecularTexture); | 81 | _deferredFramebuffer->setRenderBuffer(2, _deferredSpecularTexture); |
| 82 | 82 | ||
| 83 | _deferredFramebufferDepthColor->setRenderBuffer(0, _deferredColorTexture); | 83 | _deferredFramebufferDepthColor->setRenderBuffer(0, _deferredColorTexture); |
| 84 | 84 | */ | |
| 85 | // auto depthFormat = gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::DEPTH); | 85 | // auto depthFormat = gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::DEPTH); |
| 86 | auto depthFormat = gpu::Element(gpu::SCALAR, gpu::UINT32, gpu::DEPTH_STENCIL); // Depth24_Stencil8 texel format | 86 | auto depthFormat = gpu::Element(gpu::SCALAR, gpu::UINT32, gpu::DEPTH_STENCIL); // Depth24_Stencil8 texel format |
| 87 | _primaryDepthTexture = gpu::TexturePointer(gpu::Texture::create2D(depthFormat, width, height, defaultSampler)); | 87 | /* _primaryDepthTexture = gpu::TexturePointer(gpu::Texture::create2D(depthFormat, width, height, defaultSampler)); |
| 88 | 88 | ||
| 89 | _primaryFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 89 | _primaryFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 90 | 90 | ||
| @@ -92,31 +92,31 @@ void FramebufferCache::createPrimaryFramebuffer() { · 1 unmodified line | |||
| 92 | 92 | ||
| 93 | _deferredFramebufferDepthColor->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 93 | _deferredFramebufferDepthColor->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 94 | 94 | ||
| 95 | 95 | */ | |
| 96 | _selfieFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 96 | _selfieFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 97 | auto tex = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width * 0.5, height * 0.5, defaultSampler)); | 97 | auto tex = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width * 0.5, height * 0.5, defaultSampler)); |
| 98 | _selfieFramebuffer->setRenderBuffer(0, tex); | 98 | _selfieFramebuffer->setRenderBuffer(0, tex); |
| 99 | 99 | ||
| 100 | auto smoothSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR); | 100 | auto smoothSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR); |
| 101 | 101 | ||
| 102 | _lightingTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::R11G11B10), width, height, defaultSampler)); | 102 | /* _lightingTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::R11G11B10), width, height, defaultSampler)); |
| 103 | _lightingFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 103 | _lightingFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 104 | _lightingFramebuffer->setRenderBuffer(0, _lightingTexture); | 104 | _lightingFramebuffer->setRenderBuffer(0, _lightingTexture); |
| 105 | _lightingFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 105 | _lightingFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 106 | 106 | ||
| 107 | _deferredFramebuffer->setRenderBuffer(3, _lightingTexture); | 107 | _deferredFramebuffer->setRenderBuffer(3, _lightingTexture); |
| 108 | 108 | */ | |
| 109 | // For AO: | 109 | // For AO: |
| 110 | auto pointMipSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_POINT); | 110 | auto pointMipSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_POINT); |
| 111 | _depthPyramidTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::RGB), width, height, gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR_MIP_POINT))); | 111 | _depthPyramidTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element(gpu::SCALAR, gpu::FLOAT, gpu::RGB), width, height, gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR_MIP_POINT))); |
| 112 | _depthPyramidFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 112 | _depthPyramidFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 113 | _depthPyramidFramebuffer->setRenderBuffer(0, _depthPyramidTexture); | 113 | _depthPyramidFramebuffer->setRenderBuffer(0, _depthPyramidTexture); |
| 114 | _depthPyramidFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 114 | // _depthPyramidFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 115 | 115 | ||
| 116 | _curvatureTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element::COLOR_RGBA_32, width, height, gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR_MIP_POINT))); | 116 | _curvatureTexture = gpu::TexturePointer(gpu::Texture::create2D(gpu::Element::COLOR_RGBA_32, width, height, gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR_MIP_POINT))); |
| 117 | _curvatureFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 117 | _curvatureFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 118 | _curvatureFramebuffer->setRenderBuffer(0, _curvatureTexture); | 118 | _curvatureFramebuffer->setRenderBuffer(0, _curvatureTexture); |
| 119 | _curvatureFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 119 | // _curvatureFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 120 | 120 | ||
| 121 | resizeAmbientOcclusionBuffers(); | 121 | resizeAmbientOcclusionBuffers(); |
| 122 | } | 122 | } |
| @@ -138,14 +138,14 @@ void FramebufferCache::resizeAmbientOcclusionBuffers() { · 15 unmodified lines | |||
| 138 | _occlusionTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); | 138 | _occlusionTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); |
| 139 | _occlusionFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 139 | _occlusionFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 140 | _occlusionFramebuffer->setRenderBuffer(0, _occlusionTexture); | 140 | _occlusionFramebuffer->setRenderBuffer(0, _occlusionTexture); |
| 141 | _occlusionFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 141 | // _occlusionFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 142 | 142 | ||
| 143 | _occlusionBlurredTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); | 143 | _occlusionBlurredTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler)); |
| 144 | _occlusionBlurredFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); | 144 | _occlusionBlurredFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create()); |
| 145 | _occlusionBlurredFramebuffer->setRenderBuffer(0, _occlusionBlurredTexture); | 145 | _occlusionBlurredFramebuffer->setRenderBuffer(0, _occlusionBlurredTexture); |
| 146 | _occlusionBlurredFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); | 146 | // _occlusionBlurredFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat); |
| 147 | } | 147 | } |
| 148 | 148 | /* | |
| 149 | gpu::FramebufferPointer FramebufferCache::getPrimaryFramebuffer() { | 149 | gpu::FramebufferPointer FramebufferCache::getPrimaryFramebuffer() { |
| 150 | if (!_primaryFramebuffer) { | 150 | if (!_primaryFramebuffer) { |
| 151 | createPrimaryFramebuffer(); | 151 | createPrimaryFramebuffer(); |
| @@ -214,7 +214,7 @@ gpu::TexturePointer FramebufferCache::getLightingTexture() { · 62 unmodified lines | |||
| 214 | createPrimaryFramebuffer(); | 214 | createPrimaryFramebuffer(); |
| 215 | } | 215 | } |
| 216 | return _lightingTexture; | 216 | return _lightingTexture; |
| 217 | } | 217 | }*/ |
| 218 | 218 | ||
| 219 | gpu::FramebufferPointer FramebufferCache::getFramebuffer() { | 219 | gpu::FramebufferPointer FramebufferCache::getFramebuffer() { |
| 220 | if (_cachedFramebuffers.isEmpty()) { | 220 | if (_cachedFramebuffers.isEmpty()) { |