[Bf-blender-cvs] [8c9e6f123a2] blender-v2.81-release: Fix T71461: Add IN_PLACE_INSTANCES to `part_prim` and `part_axis` object mode particle shaders

Kevin Buhr noreply at git.blender.org
Mon Nov 11 19:30:37 CET 2019


Commit: 8c9e6f123a2b26cb6cc7585a49fb2a09bdeba09d
Author: Kevin Buhr
Date:   Mon Nov 11 14:13:39 2019 -0300
Branches: blender-v2.81-release
https://developer.blender.org/rB8c9e6f123a2b26cb6cc7585a49fb2a09bdeba09d

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

===================================================================

M	source/blender/draw/modes/object_mode.c

===================================================================

diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index 781c7e6a488..80793726afe 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -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,



More information about the Bf-blender-cvs mailing list