Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021