[Bf-blender-cvs] [6647e2c71e9] blender2.8: EEVEE: Cleanup: default_world_frag.glsl

mano-wii noreply at git.blender.org
Mon Nov 19 14:17:19 CET 2018


Commit: 6647e2c71e9a50791c2f7550fcdf4c4c75c701f6
Author: mano-wii
Date:   Mon Nov 19 08:58:29 2018 -0200
Branches: blender2.8
https://developer.blender.org/rB6647e2c71e9a50791c2f7550fcdf4c4c75c701f6

EEVEE: Cleanup: default_world_frag.glsl

===================================================================

M	source/blender/draw/engines/eevee/shaders/default_world_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/default_world_frag.glsl b/source/blender/draw/engines/eevee/shaders/default_world_frag.glsl
index 19c23fbfa39..126f2d9610a 100644
--- a/source/blender/draw/engines/eevee/shaders/default_world_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/default_world_frag.glsl
@@ -15,13 +15,13 @@ in vec3 viewPosition;
 
 #define M_PI 3.14159265358979323846
 
-void background_transform_to_world(vec3 viewvec, out vec3 worldvec)
+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 co_homogenous = (ProjectionMatrixInverse * v);
 
 	vec4 co = vec4(co_homogenous.xyz / co_homogenous.w, 0.0);
-	worldvec = (ViewMatrixInverse * co).xyz;
+	return (ViewMatrixInverse * co).xyz;
 }
 
 float hypot(float x, float y)
@@ -29,7 +29,7 @@ float hypot(float x, float y)
 	return sqrt(x * x + y * y);
 }
 
-void node_tex_environment_equirectangular(vec3 co, sampler2D ima, out vec4 color)
+vec4 node_tex_environment_equirectangular(vec3 co, sampler2D ima)
 {
 	vec3 nco = normalize(co);
 	float u = -atan(nco.y, nco.x) / (2.0 * M_PI) + 0.5;
@@ -44,20 +44,19 @@ void node_tex_environment_equirectangular(vec3 co, sampler2D ima, out vec4 color
 	/* This is caused by texture filtering, since uv don't have smooth derivatives
 	 * at u = 0 or 2PI, hardware filtering is using the smallest mipmap for certain
 	 * texels. So we force the highest mipmap and don't do anisotropic filtering. */
-	color = textureLod(ima, vec2(u, v), 0.0);
+	return textureLod(ima, vec2(u, v), 0.0);
 }
 #endif
 
 void main() {
+	vec3 background_color;
 #ifdef LOOKDEV
-	vec3 worldvec;
-	vec4 background_color;
-	background_transform_to_world(viewPosition, worldvec);
-	node_tex_environment_equirectangular(StudioLightMatrix * worldvec, image, background_color);
-	background_color.rgb = mix(color, background_color.rgb, studioLightBackground);
+	vec3 worldvec = background_transform_to_world(viewPosition);
+	background_color = node_tex_environment_equirectangular(StudioLightMatrix * worldvec, image).rgb;
+	background_color = mix(color, background_color, studioLightBackground);
 #else
-	vec3 background_color = color;
+	background_color = color;
 #endif
 
-	FragColor = vec4(clamp(background_color.rgb, vec3(0.0), vec3(1e10)), backgroundAlpha);
+	FragColor = vec4(clamp(background_color, vec3(0.0), vec3(1e10)), backgroundAlpha);
 }



More information about the Bf-blender-cvs mailing list