History

Many improvments

samcake committed 10 years ago

Commit 28886f61 parent a307c8216 files · +206 −44Browse files

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

Unified · Split

libraries/render-utils/src/DebugDeferredBuffer.cpp+28−1
@@ -48,6 +48,8 @@ enum Slot { · 47 unmodified lines
48 Shadow,48 Shadow,
49 Pyramid,49 Pyramid,
50 Curvature,50 Curvature,
51 DiffusedCurvature,
52 Scattering,
51 AmbientOcclusion,53 AmbientOcclusion,
52 AmbientOcclusionBlurred54 AmbientOcclusionBlurred
53};55};
@@ -147,6 +149,21 @@ static const std::string DEFAULT_CURVATURE_SHADER{ · 93 unmodified lines
147 " }"149 " }"
148};150};
149 151
152static const std::string DEFAULT_NORMAL_CURVATURE_SHADER{
153 "vec4 getFragmentColor() {"
154 //" return vec4(pow(vec3(texture(curvatureMap, uv).a), vec3(1.0 / 2.2)), 1.0);"
155 " return vec4(pow(vec3(texture(curvatureMap, uv).xyz), vec3(1.0 / 2.2)), 1.0);"
156 //" return vec4(vec3(1.0 - textureLod(pyramidMap, uv, 3).x * 0.01), 1.0);"
157 " }"
158};
159
160static const std::string DEFAULT_SCATTERING_SHADER{
161 "vec4 getFragmentColor() {"
162 // " return vec4(pow(vec3(texture(scatteringMap, uv).xyz), vec3(1.0 / 2.2)), 1.0);"
163 " return vec4(vec3(texture(scatteringMap, uv).xyz), 1.0);"
164 " }"
165};
166
150static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER{167static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER{
151 "vec4 getFragmentColor() {"168 "vec4 getFragmentColor() {"
152 " return vec4(vec3(texture(obscuranceMap, uv).x), 1.0);"169 " return vec4(vec3(texture(obscuranceMap, uv).x), 1.0);"
@@ -214,6 +231,10 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Mode mode, std::string cust · 61 unmodified lines
214 return DEFAULT_PYRAMID_DEPTH_SHADER;231 return DEFAULT_PYRAMID_DEPTH_SHADER;
215 case CurvatureMode:232 case CurvatureMode:
216 return DEFAULT_CURVATURE_SHADER;233 return DEFAULT_CURVATURE_SHADER;
234 case NormalCurvatureMode:
235 return DEFAULT_NORMAL_CURVATURE_SHADER;
236 case ScatteringMode:
237 return DEFAULT_SCATTERING_SHADER;
217 case AmbientOcclusionMode:238 case AmbientOcclusionMode:
218 return DEFAULT_AMBIENT_OCCLUSION_SHADER;239 return DEFAULT_AMBIENT_OCCLUSION_SHADER;
219 case AmbientOcclusionBlurredMode:240 case AmbientOcclusionBlurredMode:
@@ -269,6 +290,8 @@ const gpu::PipelinePointer& DebugDeferredBuffer::getPipeline(Mode mode, std::str · 49 unmodified lines
269 slotBindings.insert(gpu::Shader::Binding("shadowMap", Shadow));290 slotBindings.insert(gpu::Shader::Binding("shadowMap", Shadow));
270 slotBindings.insert(gpu::Shader::Binding("pyramidMap", Pyramid));291 slotBindings.insert(gpu::Shader::Binding("pyramidMap", Pyramid));
271 slotBindings.insert(gpu::Shader::Binding("curvatureMap", Curvature));292 slotBindings.insert(gpu::Shader::Binding("curvatureMap", Curvature));
293 slotBindings.insert(gpu::Shader::Binding("diffusedCurvatureMap", DiffusedCurvature));
294 slotBindings.insert(gpu::Shader::Binding("scatteringMap", Scattering));
272 slotBindings.insert(gpu::Shader::Binding("occlusionBlurredMap", AmbientOcclusionBlurred));295 slotBindings.insert(gpu::Shader::Binding("occlusionBlurredMap", AmbientOcclusionBlurred));
273 gpu::Shader::makeProgram(*program, slotBindings);296 gpu::Shader::makeProgram(*program, slotBindings);
274 297
@@ -294,11 +317,13 @@ void DebugDeferredBuffer::configure(const Config& config) { · 19 unmodified lines
294 _size = config.size;317 _size = config.size;
295}318}
296 319
297void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext) {320void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const gpu::FramebufferPointer& inputBuffer) {
298 assert(renderContext->args);321 assert(renderContext->args);
299 assert(renderContext->args->hasViewFrustum());322 assert(renderContext->args->hasViewFrustum());
300 RenderArgs* args = renderContext->args;323 RenderArgs* args = renderContext->args;
301 324
325 auto& scatteringFramebuffer = inputBuffer;
326
302 gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {327 gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {
303 batch.enableStereo(false);328 batch.enableStereo(false);
304 batch.setViewportTransform(args->_viewport);329 batch.setViewportTransform(args->_viewport);
@@ -329,6 +354,8 @@ void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const Ren · 24 unmodified lines
329 batch.setResourceTexture(Shadow, lightStage.lights[0]->shadow.framebuffer->getDepthStencilBuffer());354 batch.setResourceTexture(Shadow, lightStage.lights[0]->shadow.framebuffer->getDepthStencilBuffer());
330 batch.setResourceTexture(Pyramid, framebufferCache->getDepthPyramidTexture());355 batch.setResourceTexture(Pyramid, framebufferCache->getDepthPyramidTexture());
331 batch.setResourceTexture(Curvature, framebufferCache->getCurvatureTexture());356 batch.setResourceTexture(Curvature, framebufferCache->getCurvatureTexture());
357 //batch.setResourceTexture(DiffusedCurvature, diffusedCurvatureBuffer);
358 batch.setResourceTexture(Scattering, scatteringFramebuffer->getRenderBuffer(0));
332 if (DependencyManager::get<DeferredLightingEffect>()->isAmbientOcclusionEnabled()) {359 if (DependencyManager::get<DeferredLightingEffect>()->isAmbientOcclusionEnabled()) {
333 batch.setResourceTexture(AmbientOcclusion, framebufferCache->getOcclusionTexture());360 batch.setResourceTexture(AmbientOcclusion, framebufferCache->getOcclusionTexture());
334 } else {361 } else {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t