Blender Git Loki
Git Commits -> Revision da97b69
Revision da97b69 by Clément Foucault (master) January 11, 2018, 18:35 (GMT) |
DRW: Fix T53583 Armature instances not drawing. Was due to the fact that the instances don't have a "static" obmat that can be referenced to use as a uniform. Solution : precompute the full matrix for each bone and pass it as instance data. (theses are copied into a buffer and can be discarded right away) Note: this could be optimized further and make only one drawcall (shgroup) to draw all bone instance of one type (vs. one call per armature). |
Commit Details:
Full Hash: da97b6930b47555fbc526b7165d5b73abe06252d
Parent Commit: 3178260
Lines Changed: +69, -63
6 Modified Paths:
/source/blender/draw/intern/draw_armature.c (+56, -40) (Diff)
/source/blender/draw/intern/draw_common.c (+4, -8) (Diff)
/source/blender/draw/intern/draw_common.h (+4, -4) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_bone_envelope_solid_vert.glsl (+2, -3) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_bone_envelope_wire_vert.glsl (+1, -4) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_objectspace_variying_color_vert.glsl (+2, -4) (Diff)
/source/blender/draw/intern/draw_common.c (+4, -8) (Diff)
/source/blender/draw/intern/draw_common.h (+4, -4) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_bone_envelope_solid_vert.glsl (+2, -3) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_bone_envelope_wire_vert.glsl (+1, -4) (Diff)
/source/blender/gpu/shaders/gpu_shader_instance_objectspace_variying_color_vert.glsl (+2, -4) (Diff)