History

Introducing the sl files and the blurring stages

samcake committed 10 years ago

Commit 52f3c7e1 parent 8dba66f24 files · +576 −784Browse files

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

Unified · Split

libraries/render-utils/src/DebugDeferredBuffer.cpp+28−7
@@ -32,7 +32,9 @@ enum Slots { · 31 unmodified lines
3232 Specular,
3333 Depth,
3434 Lighting,
35− Pyramid
35+ Pyramid,
36+ OcclusionRaw,
37+ OcclusionBlurred
3638 };
3739
3840 static const std::string DEEFAULT_DIFFUSE_SHADER {
@@ -40,7 +42,7 @@ static const std::string DEEFAULT_DIFFUSE_SHADER { · 1 unmodified line
4042 " return vec4(pow(texture(diffuseMap, uv).xyz, vec3(1.0 / 2.2)), 1.0);"
4143 " }"
4244 };
43−static const std::string DEEFAULT_ALPHA_SHADER {
45+static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER {
4446 "vec4 getFragmentColor() {"
4547 " return vec4(vec3(texture(diffuseMap, uv).a), 1.0);"
4648 " }"
@@ -70,12 +72,23 @@ static const std::string DEEFAULT_LIGHTING_SHADER { · 23 unmodified lines
7072 " return vec4(pow(texture(lightingMap, uv).xyz, vec3(1.0 / 2.2)), 1.0);"
7173 " }"
7274 };
73−static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER {
75+static const std::string DEFAULT_PYRAMID_DEPTH_SHADER {
7476 "vec4 getFragmentColor() {"
7577 " return vec4(vec3(1.0 - texture(pyramidMap, uv).x * 0.01), 1.0);"
7678 //" return vec4(vec3(1.0 - textureLod(pyramidMap, uv, 3).x * 0.01), 1.0);"
7779 " }"
7880 };
81+static const std::string DEFAULT_OCCLUSION_RAW_SHADER {
82+ "vec4 getFragmentColor() {"
83+ " return vec4(vec3(texture(occlusionRawMap, uv).x), 1.0);"
84+ " }"
85+};
86+static const std::string DEFAULT_OCCLUSION_BLURRED_SHADER {
87+ "vec4 getFragmentColor() {"
88+ " return vec4(vec3(texture(occlusionBlurredMap, uv).x), 1.0);"
89+ " }"
90+};
91+
7992 static const std::string DEEFAULT_CUSTOM_SHADER {
8093 "vec4 getFragmentColor() {"
8194 " return vec4(1.0, 0.0, 0.0, 1.0);"
@@ -106,8 +119,8 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Modes mode, std::string cus · 24 unmodified lines
106119 switch (mode) {
107120 case DiffuseMode:
108121 return DEEFAULT_DIFFUSE_SHADER;
109− case AlphaMode:
110− return DEEFAULT_ALPHA_SHADER;
122+ case AmbientOcclusionMode:
123+ return DEFAULT_AMBIENT_OCCLUSION_SHADER;
111124 case SpecularMode:
112125 return DEEFAULT_SPECULAR_SHADER;
113126 case RoughnessMode:
@@ -118,8 +131,12 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Modes mode, std::string cus · 4 unmodified lines
118131 return DEEFAULT_DEPTH_SHADER;
119132 case LightingMode:
120133 return DEEFAULT_LIGHTING_SHADER;
121− case AmbientOcclusionMode:
122− return DEFAULT_AMBIENT_OCCLUSION_SHADER;
134+ case PyramidDepthMode:
135+ return DEFAULT_PYRAMID_DEPTH_SHADER;
136+ case OcclusionRawMode:
137+ return DEFAULT_OCCLUSION_RAW_SHADER;
138+ case OcclusionBlurredMode:
139+ return DEFAULT_OCCLUSION_BLURRED_SHADER;
123140 case CustomMode:
124141 return getFileContent(customFile, DEEFAULT_CUSTOM_SHADER);
125142 }
@@ -168,6 +185,8 @@ const gpu::PipelinePointer& DebugDeferredBuffer::getPipeline(Modes mode, std::st · 42 unmodified lines
168185 slotBindings.insert(gpu::Shader::Binding("depthMap", Depth));
169186 slotBindings.insert(gpu::Shader::Binding("lightingMap", Lighting));
170187 slotBindings.insert(gpu::Shader::Binding("pyramidMap", Pyramid));
188+ slotBindings.insert(gpu::Shader::Binding("occlusionRawMap", OcclusionRaw));
189+ slotBindings.insert(gpu::Shader::Binding("occlusionBlurredMap", OcclusionBlurred));
171190 gpu::Shader::makeProgram(*program, slotBindings);
172191
173192 auto pipeline = gpu::Pipeline::create(program, std::make_shared<gpu::State>());
@@ -216,6 +235,8 @@ void DebugDeferredBuffer::run(const SceneContextPointer& sceneContext, const Ren · 42 unmodified lines
216235 batch.setResourceTexture(Depth, framebufferCache->getPrimaryDepthTexture());
217236 batch.setResourceTexture(Lighting, framebufferCache->getLightingTexture());
218237 batch.setResourceTexture(Pyramid, framebufferCache->getDepthPyramidTexture());
238+ batch.setResourceTexture(OcclusionRaw, framebufferCache->getOcclusionTexture());
239+ batch.setResourceTexture(OcclusionBlurred, framebufferCache->getOcclusionBlurredTexture());
219240
220241 const glm::vec4 color(1.0f, 1.0f, 1.0f, 1.0f);
221242 const glm::vec2 bottomLeft(renderContext->_deferredDebugSize.x, renderContext->_deferredDebugSize.y);