Showing the changes to libraries/render-utils/src/DebugDeferredBuffer.cpp (1 of 4 files). Show all
Unified · Split
| @@ -85,31 +85,15 @@ static const std::string DEFAULT_NORMAL_SHADER { · 84 unmodified lines | ||
| 85 | 85 | " return vec4(vec3(0.5) + (frag.normal * 0.5), 1.0);" |
| 86 | 86 | " }" |
| 87 | 87 | }; |
| 88 | −/* | |
| 89 | −static const std::string DEFAULT_OCCLUSION_SHADER{ | |
| 90 | − "vec4 getFragmentColor() {" | |
| 91 | − // " DeferredFragment frag = unpackDeferredFragmentNoPosition(uv);" | |
| 92 | − // " return vec4(vec3(pow(frag.obscurance, 1.0 / 2.2)), 1.0);" | |
| 93 | − // " return vec4(vec3(pow(texture(specularMap, uv).a, 1.0 / 2.2)), 1.0);" | |
| 94 | − " return vec4(vec3(texture(specularMap, uv).w), 1.0);" | |
| 95 | − " }" | |
| 96 | −}; | |
| 97 | −*/ | |
| 88 | + | |
| 98 | 89 | static const std::string DEFAULT_OCCLUSION_SHADER{ |
| 99 | 90 | "vec4 getFragmentColor() {" |
| 100 | 91 | // " DeferredFragment frag = unpackDeferredFragmentNoPosition(uv);" |
| 101 | 92 | // " return vec4(vec3(pow(frag.obscurance, 1.0 / 2.2)), 1.0);" |
| 102 | − " vec4 midNormalCurvature;" | |
| 103 | − " vec4 lowNormalCurvature;" | |
| 104 | − " unpackMidLowNormalCurvature(uv, midNormalCurvature, lowNormalCurvature);" | |
| 105 | − " float ambientOcclusion = curvatureAO(lowNormalCurvature.a * 20.0f) * 0.5f;" | |
| 106 | − " float ambientOcclusionHF = curvatureAO(midNormalCurvature.a * 8.0f) * 0.5f;" | |
| 107 | − " ambientOcclusion = min(ambientOcclusion, ambientOcclusionHF);" | |
| 108 | − " return vec4(vec3(ambientOcclusion), 1.0);" | |
| 93 | + " return vec4(vec3(pow(texture(specularMap, uv).a, 1.0 / 2.2)), 1.0);" | |
| 109 | 94 | " }" |
| 110 | 95 | }; |
| 111 | 96 | |
| 112 | − | |
| 113 | 97 | static const std::string DEFAULT_EMISSIVE_SHADER{ |
| 114 | 98 | "vec4 getFragmentColor() {" |
| 115 | 99 | " DeferredFragment frag = unpackDeferredFragmentNoPosition(uv);" |
| @@ -211,6 +195,18 @@ static const std::string DEFAULT_DIFFUSED_NORMAL_CURVATURE_SHADER{ · 95 unmodified lines | ||
| 211 | 195 | " }" |
| 212 | 196 | }; |
| 213 | 197 | |
| 198 | +static const std::string DEFAULT_CURVATURE_OCCLUSION_SHADER{ | |
| 199 | + "vec4 getFragmentColor() {" | |
| 200 | + " vec4 midNormalCurvature;" | |
| 201 | + " vec4 lowNormalCurvature;" | |
| 202 | + " unpackMidLowNormalCurvature(uv, midNormalCurvature, lowNormalCurvature);" | |
| 203 | + " float ambientOcclusion = curvatureAO(lowNormalCurvature.a * 20.0f) * 0.5f;" | |
| 204 | + " float ambientOcclusionHF = curvatureAO(midNormalCurvature.a * 8.0f) * 0.5f;" | |
| 205 | + " ambientOcclusion = min(ambientOcclusion, ambientOcclusionHF);" | |
| 206 | + " return vec4(vec3(ambientOcclusion), 1.0);" | |
| 207 | + " }" | |
| 208 | +}; | |
| 209 | + | |
| 214 | 210 | static const std::string DEFAULT_DEBUG_SCATTERING_SHADER{ |
| 215 | 211 | "vec4 getFragmentColor() {" |
| 216 | 212 | " return vec4(pow(vec3(texture(scatteringMap, uv).xyz), vec3(1.0 / 2.2)), 1.0);" |
| @@ -220,7 +216,7 @@ static const std::string DEFAULT_DEBUG_SCATTERING_SHADER{ · 3 unmodified lines | ||
| 220 | 216 | |
| 221 | 217 | static const std::string DEFAULT_AMBIENT_OCCLUSION_SHADER{ |
| 222 | 218 | "vec4 getFragmentColor() {" |
| 223 | − " return vec4(vec3(texture(obscuranceMap, uv).xyz), 1.0);" | |
| 219 | + " return vec4(vec3(texture(obscuranceMap, uv).x), 1.0);" | |
| 224 | 220 | // When drawing color " return vec4(vec3(texture(occlusionMap, uv).xyz), 1.0);" |
| 225 | 221 | // when drawing normal" return vec4(normalize(texture(occlusionMap, uv).xyz * 2.0 - vec3(1.0)), 1.0);" |
| 226 | 222 | " }" |
| @@ -305,6 +301,8 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Mode mode, std::string cust · 78 unmodified lines | ||
| 305 | 301 | return DEFAULT_DIFFUSED_CURVATURE_SHADER; |
| 306 | 302 | case DiffusedNormalCurvatureMode: |
| 307 | 303 | return DEFAULT_DIFFUSED_NORMAL_CURVATURE_SHADER; |
| 304 | + case CurvatureOcclusionMode: | |
| 305 | + return DEFAULT_CURVATURE_OCCLUSION_SHADER; | |
| 308 | 306 | case ScatteringDebugMode: |
| 309 | 307 | return DEFAULT_DEBUG_SCATTERING_SHADER; |
| 310 | 308 | case AmbientOcclusionMode: |