Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/default_world_frag.glsl
| uniform float backgroundAlpha; | uniform float backgroundAlpha; | ||||
| uniform vec3 color; | uniform vec3 color; | ||||
| out vec4 FragColor; | out vec4 FragColor; | ||||
| #ifdef LOOKDEV | #ifdef LOOKDEV | ||||
| uniform mat3 StudioLightMatrix; | uniform mat3 StudioLightMatrix; | ||||
| uniform sampler2D image; | uniform sampler2D image; | ||||
| uniform float studioLightBackground = 1.0; | uniform float studioLightBackground = 1.0; | ||||
| uniform float studioLightIntensity = 1.0; | |||||
| in vec3 viewPosition; | in vec3 viewPosition; | ||||
| # define M_PI 3.14159265358979323846 | # define M_PI 3.14159265358979323846 | ||||
| vec3 background_transform_to_world(vec3 viewvec) | vec3 background_transform_to_world(vec3 viewvec) | ||||
| { | { | ||||
| vec4 v = (ProjectionMatrix[3][3] == 0.0) ? vec4(viewvec, 1.0) : vec4(0.0, 0.0, 1.0, 1.0); | vec4 v = (ProjectionMatrix[3][3] == 0.0) ? vec4(viewvec, 1.0) : vec4(0.0, 0.0, 1.0, 1.0); | ||||
| vec4 co_homogenous = (ProjectionMatrixInverse * v); | vec4 co_homogenous = (ProjectionMatrixInverse * v); | ||||
| Show All 27 Lines | |||||
| #endif | #endif | ||||
| void main() | void main() | ||||
| { | { | ||||
| vec3 background_color; | vec3 background_color; | ||||
| #ifdef LOOKDEV | #ifdef LOOKDEV | ||||
| vec3 worldvec = background_transform_to_world(viewPosition); | vec3 worldvec = background_transform_to_world(viewPosition); | ||||
| background_color = node_tex_environment_equirectangular(StudioLightMatrix * worldvec, image).rgb; | background_color = node_tex_environment_equirectangular(StudioLightMatrix * worldvec, image).rgb; | ||||
| background_color *= studioLightIntensity; | |||||
| background_color = mix(color, background_color, studioLightBackground); | background_color = mix(color, background_color, studioLightBackground); | ||||
| #else | #else | ||||
| background_color = color; | background_color = color; | ||||
| #endif | #endif | ||||
| FragColor = vec4(clamp(background_color, vec3(0.0), vec3(1e10)), 1.0) * backgroundAlpha; | FragColor = vec4(clamp(background_color, vec3(0.0), vec3(1e10)), 1.0) * backgroundAlpha; | ||||
| } | } | ||||