Differential D16243 Diff 58431 source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl
| #pragma BLENDER_REQUIRE(common_view_lib.glsl) | #pragma BLENDER_REQUIRE(common_view_lib.glsl) | ||||
| #pragma BLENDER_REQUIRE(lightprobe_lib.glsl) | #pragma BLENDER_REQUIRE(lightprobe_lib.glsl) | ||||
| flat in int pid; | |||||
| in vec2 quadCoord; | |||||
| out vec4 FragColor; | |||||
| void main() | void main() | ||||
| { | { | ||||
| float dist_sqr = dot(quadCoord, quadCoord); | float dist_sqr = dot(quadCoord, quadCoord); | ||||
| /* Discard outside the circle. */ | /* Discard outside the circle. */ | ||||
| if (dist_sqr > 1.0) { | if (dist_sqr > 1.0) { | ||||
| discard; | discard; | ||||
| } | } | ||||
| vec3 view_nor = vec3(quadCoord, sqrt(max(0.0, 1.0 - dist_sqr))); | vec3 view_nor = vec3(quadCoord, sqrt(max(0.0, 1.0 - dist_sqr))); | ||||
| vec3 world_ref = mat3(ViewMatrixInverse) * reflect(vec3(0.0, 0.0, -1.0), view_nor); | vec3 world_ref = mat3(ViewMatrixInverse) * reflect(vec3(0.0, 0.0, -1.0), view_nor); | ||||
| FragColor = vec4(textureLod_cubemapArray(probeCubes, vec4(world_ref, pid), 0.0).rgb, 1.0); | FragColor = vec4(textureLod_cubemapArray(probeCubes, vec4(world_ref, pid), 0.0).rgb, 1.0); | ||||
| } | } | ||||