History

Revolutionizing ao

samcake committed 10 years ago

Commit afb1ebf1 parent 4f04dbc12 files · +221 −190Browse files

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

Unified · Split

libraries/render-utils/src/FramebufferCache.cpp+0−70
@@ -35,10 +35,6 @@ void FramebufferCache::setFrameBufferSize(QSize frameBufferSize) { · 34 unmodified lines
3535 _frameBufferSize = frameBufferSize;
3636 _selfieFramebuffer.reset();
3737 _cachedFramebuffers.clear();
38− _occlusionFramebuffer.reset();
39− _occlusionTexture.reset();
40− _occlusionBlurredFramebuffer.reset();
41− _occlusionBlurredTexture.reset();
4238 }
4339 }
4440
@@ -54,35 +50,6 @@ void FramebufferCache::createPrimaryFramebuffer() { · 9 unmodified lines
5450 _selfieFramebuffer->setRenderBuffer(0, tex);
5551
5652 auto smoothSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR);
57−
58−
59−
60− resizeAmbientOcclusionBuffers();
61−}
62−
63−
64−void FramebufferCache::resizeAmbientOcclusionBuffers() {
65− _occlusionFramebuffer.reset();
66− _occlusionTexture.reset();
67− _occlusionBlurredFramebuffer.reset();
68− _occlusionBlurredTexture.reset();
69−
70−
71− auto width = _frameBufferSize.width() >> _AOResolutionLevel;
72− auto height = _frameBufferSize.height() >> _AOResolutionLevel;
73− auto colorFormat = gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGB);
74− auto defaultSampler = gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_LINEAR);
75− // auto depthFormat = gpu::Element(gpu::SCALAR, gpu::UINT32, gpu::DEPTH_STENCIL); // Depth24_Stencil8 texel format
76−
77− _occlusionTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler));
78− _occlusionFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create());
79− _occlusionFramebuffer->setRenderBuffer(0, _occlusionTexture);
80− // _occlusionFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat);
81−
82− _occlusionBlurredTexture = gpu::TexturePointer(gpu::Texture::create2D(colorFormat, width, height, defaultSampler));
83− _occlusionBlurredFramebuffer = gpu::FramebufferPointer(gpu::Framebuffer::create());
84− _occlusionBlurredFramebuffer->setRenderBuffer(0, _occlusionBlurredTexture);
85− // _occlusionBlurredFramebuffer->setDepthStencilBuffer(_primaryDepthTexture, depthFormat);
8653 }
8754
8855
@@ -107,40 +74,3 @@ gpu::FramebufferPointer FramebufferCache::getSelfieFramebuffer() { · 18 unmodified lines
10774 }
10875 return _selfieFramebuffer;
10976 }
110−
111−void FramebufferCache::setAmbientOcclusionResolutionLevel(int level) {
112− const int MAX_AO_RESOLUTION_LEVEL = 4;
113− level = std::max(0, std::min(level, MAX_AO_RESOLUTION_LEVEL));
114− if (level != _AOResolutionLevel) {
115− _AOResolutionLevel = level;
116− resizeAmbientOcclusionBuffers();
117− }
118−}
119−
120−gpu::FramebufferPointer FramebufferCache::getOcclusionFramebuffer() {
121− if (!_occlusionFramebuffer) {
122− resizeAmbientOcclusionBuffers();
123− }
124− return _occlusionFramebuffer;
125−}
126−
127−gpu::TexturePointer FramebufferCache::getOcclusionTexture() {
128− if (!_occlusionTexture) {
129− resizeAmbientOcclusionBuffers();
130− }
131− return _occlusionTexture;
132−}
133−
134−gpu::FramebufferPointer FramebufferCache::getOcclusionBlurredFramebuffer() {
135− if (!_occlusionBlurredFramebuffer) {
136− resizeAmbientOcclusionBuffers();
137− }
138− return _occlusionBlurredFramebuffer;
139−}
140−
141−gpu::TexturePointer FramebufferCache::getOcclusionBlurredTexture() {
142− if (!_occlusionBlurredTexture) {
143− resizeAmbientOcclusionBuffers();
144− }
145− return _occlusionBlurredTexture;
146−}