Blender Git Loki
Git Commits -> Revision 3c799ba
Revision 3c799ba by Bastien Montagne (master) May 17, 2017, 10:34 (GMT) |
DwM: Armature: Add distance outline and wire drawing of envelope bones. This is not complete, it does not implement 3D solid drawing of envelope bones. 2D wire is hence always drawn for now. Some notes: I did not try to implement the 'capsule' approach suggested by @fclem, because: 1. I spent enough time on this already, and finally got something working. 2. I managed to get rid of geometry shader completely. 3. Current approach allows us to use same shader for distance outline and envelope wire. It's working fine, except for one glitch - superpositions of envelope outlines do not work as expected, not sure what's wrong here, tried to disable zbuff, enable GL_BLEND, no luck so far... I think we need our own 'background' drawpass to get them working (also to avoid them drawing over the wire lines). |
Commit Details:
Full Hash: 3c799ba8013405142430d7e20c272fe92457852d
Parent Commit: 11c167f
Lines Changed: +364, -12
1 Added Path:
/source/blender/gpu/shaders/gpu_shader_instance_bone_envelope_vert.glsl (+98, -0) (View)
8 Modified Paths:
/source/blender/draw/intern/draw_armature.c (+127, -11) (Diff)
/source/blender/draw/intern/draw_cache.c (+111, -0) (Diff)
/source/blender/draw/intern/draw_cache.h (+3, -0) (Diff)
/source/blender/draw/intern/draw_common.c (+17, -1) (Diff)
/source/blender/draw/intern/draw_common.h (+1, -0) (Diff)
/source/blender/gpu/CMakeLists.txt (+1, -0) (Diff)
/source/blender/gpu/GPU_shader.h (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+4, -0) (Diff)
/source/blender/draw/intern/draw_cache.c (+111, -0) (Diff)
/source/blender/draw/intern/draw_cache.h (+3, -0) (Diff)
/source/blender/draw/intern/draw_common.c (+17, -1) (Diff)
/source/blender/draw/intern/draw_common.h (+1, -0) (Diff)
/source/blender/gpu/CMakeLists.txt (+1, -0) (Diff)
/source/blender/gpu/GPU_shader.h (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+4, -0) (Diff)