Commit: 27d837a6ac7104bf8ddd65839fcc2369ec9ba834
Author: Jeroen Bakker
Date:   Thu Apr 26 08:06:22 2018 +0200
Branches: blender2.8-workbench
https://developer.blender.org/rB27d837a6ac7104bf8ddd65839fcc2369ec9ba834

Workbench: Shader compilation

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

M       
source/blender/draw/engines/workbench/shaders/workbench_object_overlap_lib.glsl
M       
source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
M       
source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl

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

diff --git 
a/source/blender/draw/engines/workbench/shaders/workbench_object_overlap_lib.glsl
 
b/source/blender/draw/engines/workbench/shaders/workbench_object_overlap_lib.glsl
index e961f50b5f2..0c1c430c61b 100644
--- 
a/source/blender/draw/engines/workbench/shaders/workbench_object_overlap_lib.glsl
+++ 
b/source/blender/draw/engines/workbench/shaders/workbench_object_overlap_lib.glsl
@@ -9,5 +9,5 @@ float calculate_object_overlap(usampler2D objectId, ivec2 
texel, uint object_id)
            texelFetchOffset(objectId, texel, 0, ivec2(-OBJECT_OVERLAP_OFFSET, 
0)).r,
            texelFetchOffset(objectId, texel, 0, ivec2( OBJECT_OVERLAP_OFFSET, 
0)).r);
 
-       return dot(vec4(equal(uvec4(object_id), oid_offset)), vec4(1.0/4.0));
+       return dot(vec4(equal(uvec4(object_id), oid_offset)), vec4(0.25));
 }
diff --git 
a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl 
b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
index 1535ab2e36f..09258654072 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
@@ -1,20 +1,25 @@
 uniform int object_id = 0;
 uniform vec3 object_color = vec3(1.0, 0.0, 1.0);
 
+#ifdef V3D_LIGHTING_STUDIO
 in vec3 normal_viewport;
+#endif /* V3D_LIGHTING_STUDIO */
 
 out uint objectId;
 out vec4 diffuseColor;
+#ifdef V3D_LIGHTING_STUDIO
 #ifdef WORKBENCH_ENCODE_NORMALS
 out vec2 normalViewport;
-#else
+#else /* WORKBENCH_ENCODE_NORMALS */
 out vec3 normalViewport;
-#endif
+#endif /* WORKBENCH_ENCODE_NORMALS */
+#endif /* V3D_LIGHTING_STUDIO */
 
 void main()
 {
        objectId = uint(object_id);
        diffuseColor = vec4(object_color, 0.0);
+#ifdef V3D_LIGHTING_STUDIO
 #ifdef WORKBENCH_ENCODE_NORMALS
        if (!gl_FrontFacing) {
                normalViewport = normal_encode(-normal_viewport);
@@ -25,4 +30,5 @@ void main()
 #else /* WORKBENCH_ENCODE_NORMALS */
        normalViewport = normal_viewport;
 #endif /* WORKBENCH_ENCODE_NORMALS */
+#endif /* V3D_LIGHTING_STUDIO */
 }
diff --git 
a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl 
b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
index 2da5deabfc2..8f62ddb161d 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
@@ -1,13 +1,21 @@
 uniform mat4 ModelViewProjectionMatrix;
+#ifdef V3D_LIGHTING_STUDIO
 uniform mat3 NormalMatrix;
+#endif /* V3D_LIGHTING_STUDIO */
 
 in vec3 pos;
+#ifdef V3D_LIGHTING_STUDIO
 in vec3 nor;
+#endif /* V3D_LIGHTING_STUDIO */
 
+#ifdef V3D_LIGHTING_STUDIO
 out vec3 normal_viewport;
+#endif /* V3D_LIGHTING_STUDIO */
 
 void main()
 {
+#ifdef V3D_LIGHTING_STUDIO
        normal_viewport = normalize(NormalMatrix * nor);
+#endif /* V3D_LIGHTING_STUDIO */
        gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to