diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-06 23:44:12 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-07 00:03:56 +0300 |
commit | 7325035e60913ed8ef4afc61d22395e2382672dd (patch) | |
tree | e49020b11db8b50cbd316ec0cdd0067bd750c04f /source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl | |
parent | 6152f5cd67d609afaea128ff07b201fb180137b5 (diff) |
DRW: support clipping for octahedral & box bones
Diffstat (limited to 'source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl')
-rw-r--r-- | source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl b/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl index 27b75852a16..b190d834a61 100644 --- a/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl +++ b/source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl @@ -31,7 +31,8 @@ void main() * doing it per instance on CPU and sending it on via instance attribute. */ mat3 NormalMatrix = transpose(inverse(mat3(ViewMatrix * InstanceModelMatrix))); - vec4 viewpos = ViewMatrix * (InstanceModelMatrix * vec4(pos, 1.0)); + vec4 worldPosition = InstanceModelMatrix * vec4(pos, 1.0); + vec4 viewpos = ViewMatrix * worldPosition; vPos = viewpos.xyz; pPos = ProjectionMatrix * viewpos; @@ -44,4 +45,8 @@ void main() ssPos = proj(pPos); vColSize = outlineColorSize; + +#ifdef USE_WORLD_CLIP_PLANES + world_clip_planes_calc_clip_distance(worldPosition.xyz); +#endif } |