Differential D16243 Diff 58431 source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/renderpass_postprocess_frag.glsl
| #pragma BLENDER_REQUIRE(common_view_lib.glsl) | #pragma BLENDER_REQUIRE(common_view_lib.glsl) | ||||
| #pragma BLENDER_REQUIRE(common_math_geom_lib.glsl) | #pragma BLENDER_REQUIRE(common_math_geom_lib.glsl) | ||||
| #define PASS_POST_UNDEFINED 0 | #define PASS_POST_UNDEFINED 0 | ||||
| #define PASS_POST_ACCUMULATED_COLOR 1 | #define PASS_POST_ACCUMULATED_COLOR 1 | ||||
| #define PASS_POST_ACCUMULATED_COLOR_ALPHA 2 | #define PASS_POST_ACCUMULATED_COLOR_ALPHA 2 | ||||
| #define PASS_POST_ACCUMULATED_LIGHT 3 | #define PASS_POST_ACCUMULATED_LIGHT 3 | ||||
| #define PASS_POST_ACCUMULATED_VALUE 4 | #define PASS_POST_ACCUMULATED_VALUE 4 | ||||
| #define PASS_POST_DEPTH 5 | #define PASS_POST_DEPTH 5 | ||||
| #define PASS_POST_AO 6 | #define PASS_POST_AO 6 | ||||
| #define PASS_POST_NORMAL 7 | #define PASS_POST_NORMAL 7 | ||||
| #define PASS_POST_TWO_LIGHT_BUFFERS 8 | #define PASS_POST_TWO_LIGHT_BUFFERS 8 | ||||
| #define PASS_POST_ACCUMULATED_TRANSMITTANCE_COLOR 9 | #define PASS_POST_ACCUMULATED_TRANSMITTANCE_COLOR 9 | ||||
| uniform int postProcessType; | |||||
| uniform int currentSample; | |||||
| uniform depth2D depthBuffer; | |||||
| uniform sampler2D inputBuffer; | |||||
| uniform sampler2D inputSecondLightBuffer; | |||||
| uniform sampler2D inputColorBuffer; | |||||
| uniform sampler2D inputTransmittanceBuffer; | |||||
| out vec4 fragColor; | |||||
| vec3 safe_divide_even_color(vec3 a, vec3 b) | vec3 safe_divide_even_color(vec3 a, vec3 b) | ||||
| { | { | ||||
| vec3 result = vec3((b.r != 0.0) ? a.r / b.r : 0.0, | vec3 result = vec3((b.r != 0.0) ? a.r / b.r : 0.0, | ||||
| (b.g != 0.0) ? a.g / b.g : 0.0, | (b.g != 0.0) ? a.g / b.g : 0.0, | ||||
| (b.b != 0.0) ? a.b / b.b : 0.0); | (b.b != 0.0) ? a.b / b.b : 0.0); | ||||
| /* try to get gray even if b is zero */ | /* try to get gray even if b is zero */ | ||||
| if (b.r == 0.0) { | if (b.r == 0.0) { | ||||
| if (b.g == 0.0) { | if (b.g == 0.0) { | ||||
| ▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines | |||||