[Bf-blender-cvs] [875bbabc1ee] greasepencil-object: Separate zdepth to function to use in future
Antonio Vazquez
noreply at git.blender.org
Thu May 18 20:40:08 CEST 2017
Commit: 875bbabc1eeb5ae6d7283a7071c0e7357e5b836e
Author: Antonio Vazquez
Date: Thu May 18 10:11:52 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB875bbabc1eeb5ae6d7283a7071c0e7357e5b836e
Separate zdepth to function to use in future
Now, the value is fixed but need to be calculated.
===================================================================
M source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
===================================================================
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
index 6390d563fc6..bc20dba8918 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
@@ -16,6 +16,13 @@ vec2 toScreenSpace(vec4 vertex)
return vec2(vertex.xy / vertex.w) * Viewport;
}
+/* get zdepth value (0 Near, 1 Far) */
+float getZdepth(float point)
+{
+ /* TODO: add xray support */
+ return 0.0;
+}
+
void main(void)
{
float MiterLimit = 0.75;
@@ -72,17 +79,17 @@ void main(void)
if (dot(v0, n1) > 0) {
mTexCoord = vec2(0, 0);
mColor = finalColor[1];
- gl_Position = vec4((sp1 + finalThickness[1] * n0) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 + finalThickness[1] * n0) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 0);
mColor = finalColor[1];
- gl_Position = vec4((sp1 + finalThickness[1] * n1) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 + finalThickness[1] * n1) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 0.5);
mColor = finalColor[1];
- gl_Position = vec4(sp1 / Viewport, 0.0, 1.0);
+ gl_Position = vec4(sp1 / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
EndPrimitive();
@@ -90,17 +97,17 @@ void main(void)
else {
mTexCoord = vec2(0, 1);
mColor = finalColor[1];
- gl_Position = vec4((sp1 - finalThickness[1] * n1) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 - finalThickness[1] * n1) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 1);
mColor = finalColor[1];
- gl_Position = vec4((sp1 - finalThickness[1] * n0) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 - finalThickness[1] * n0) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 0.5);
mColor = finalColor[1];
- gl_Position = vec4(sp1 / Viewport, 0.0, 1.0);
+ gl_Position = vec4(sp1 / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
EndPrimitive();
@@ -115,22 +122,22 @@ void main(void)
/* generate the triangle strip */
mTexCoord = vec2(0, 0);
mColor = finalColor[1];
- gl_Position = vec4((sp1 + length_a * miter_a) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 + length_a * miter_a) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 1);
mColor = finalColor[1];
- gl_Position = vec4((sp1 - length_a * miter_a) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp1 - length_a * miter_a) / Viewport, getZdepth(P1.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 0);
mColor = finalColor[2];
- gl_Position = vec4((sp2 + length_b * miter_b) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp2 + length_b * miter_b) / Viewport, getZdepth(P2.z), 1.0);
EmitVertex();
mTexCoord = vec2(0, 1);
mColor = finalColor[2];
- gl_Position = vec4((sp2 - length_b * miter_b) / Viewport, 0.0, 1.0);
+ gl_Position = vec4((sp2 - length_b * miter_b) / Viewport, getZdepth(P2.z), 1.0);
EmitVertex();
EndPrimitive();
More information about the Bf-blender-cvs
mailing list