Differential D16243 Diff 58431 source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/effect_translucency_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) | ||||
| #pragma BLENDER_REQUIRE(common_utiltex_lib.glsl) | #pragma BLENDER_REQUIRE(common_utiltex_lib.glsl) | ||||
| #pragma BLENDER_REQUIRE(lights_lib.glsl) | #pragma BLENDER_REQUIRE(lights_lib.glsl) | ||||
| in vec4 uvcoordsvar; | |||||
| out vec4 FragColor; | |||||
| uniform depth2D depthBuffer; | |||||
| uniform sampler1D sssTexProfile; | |||||
| uniform sampler2D sssRadius; | |||||
| uniform sampler2DArray sssShadowCubes; | |||||
| uniform sampler2DArray sssShadowCascades; | |||||
| #define MAX_SSS_SAMPLES 65 | |||||
| #define SSS_LUT_SIZE 64.0 | |||||
| #define SSS_LUT_SCALE ((SSS_LUT_SIZE - 1.0) / float(SSS_LUT_SIZE)) | |||||
| #define SSS_LUT_BIAS (0.5 / float(SSS_LUT_SIZE)) | |||||
| layout(std140) uniform sssProfile | |||||
| { | |||||
| vec4 sss_kernel[MAX_SSS_SAMPLES]; | |||||
| vec4 radii_max_radius; | |||||
| float avg_inv_radius; | |||||
| int sss_samples; | |||||
| }; | |||||
| vec3 sss_profile(float s) | vec3 sss_profile(float s) | ||||
| { | { | ||||
| s /= radii_max_radius.w * avg_inv_radius; | s /= radii_max_radius.w * avg_inv_radius; | ||||
| return texture(sssTexProfile, saturate(s) * SSS_LUT_SCALE + SSS_LUT_BIAS).rgb; | return texture(sssTexProfile, saturate(s) * SSS_LUT_SCALE + SSS_LUT_BIAS).rgb; | ||||
| } | } | ||||
| float light_translucent_power_with_falloff(LightData ld, vec3 N, vec4 l_vector) | float light_translucent_power_with_falloff(LightData ld, vec3 N, vec4 l_vector) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 236 Lines • Show Last 20 Lines | |||||