Fix T71461: Add IN_PLACE_INSTANCES to `part_prim` and `part_axis` object mode particle shaders

For `Particle Properties -> Viewport Display -> Display As` set to
circle/cross/axis, particle instances are associated with a single
resource handle (and, in particular, a single model matrix), so define
`IN_PLACE_INSTANCES` to get the right index for `ModelMatrix` and
`ModelInverseMatrix` in the shader.

Differential Revision: https://developer.blender.org/D6220
This commit is contained in:
Kevin Buhr 2019-11-11 14:13:39 -03:00 committed by Dalai Felinto
parent a97cc5389a
commit 8c9e6f123a
Notes: blender-bot 2023-02-14 00:16:55 +01:00
Referenced by issue #71461, Emitter particle system viewport display axis/cross/circle shows only first two particles
1 changed files with 2 additions and 1 deletions

View File

@ -510,12 +510,13 @@ static void OBJECT_engine_init(void *vedata)
NULL,
datatoc_gpu_shader_flat_color_frag_glsl,
datatoc_common_view_lib_glsl,
NULL);
"#define IN_PLACE_INSTANCES\n");
sh_data->part_axis = DRW_shader_create_with_lib(datatoc_object_particle_prim_vert_glsl,
NULL,
datatoc_gpu_shader_flat_color_frag_glsl,
datatoc_common_view_lib_glsl,
"#define IN_PLACE_INSTANCES\n"
"#define USE_AXIS\n");
sh_data->part_dot = DRW_shader_create_with_lib(datatoc_object_particle_dot_vert_glsl,