diff options
author | Luca Rood <dev@lucarood.com> | 2017-05-23 17:56:53 +0300 |
---|---|---|
committer | Luca Rood <dev@lucarood.com> | 2017-05-23 19:39:22 +0300 |
commit | 9bc88b69d81fc1839733c0ffb7179fba22d9920c (patch) | |
tree | 81f49b619b93ba1ea28341865e85b75bcbdbec50 /source/blender/draw/modes/object_mode.c | |
parent | 99c6601a1ffe744ef8592de5da5920156a1097a6 (diff) |
Implement particle velocity and acceleration visualization
Diffstat (limited to 'source/blender/draw/modes/object_mode.c')
-rw-r--r-- | source/blender/draw/modes/object_mode.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 0259e1055af..05c9488ba82 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -43,6 +43,7 @@ #include "BKE_global.h" #include "BKE_particle.h" #include "BKE_image.h" +#include "BKE_texture.h" #include "ED_view3d.h" #include "ED_view3d.h" @@ -57,6 +58,7 @@ #include "draw_common.h" extern struct GPUUniformBuffer *globals_ubo; /* draw_common.c */ +extern struct GPUTexture *globals_ramp; /* draw_common.c */ extern GlobalsUboStorage ts; extern char datatoc_object_outline_resolve_frag_glsl[]; @@ -1414,6 +1416,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) DRW_shgroup_uniform_vec3(shgrp, "color", ma ? &ma->r : def_prim_col, 1); DRW_shgroup_uniform_vec3(shgrp, "outlineColor", ma ? &ma->specr : def_sec_col, 1); DRW_shgroup_uniform_short_to_int(shgrp, "size", &part->draw_size, 1); + DRW_shgroup_uniform_texture(shgrp, "ramp", globals_ramp); DRW_shgroup_call_add(shgrp, geom, mat); break; case PART_DRAW_CROSS: @@ -1435,9 +1438,11 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) if (draw_as != PART_DRAW_DOT) { DRW_shgroup_attrib_float(shgrp, "pos", 3); DRW_shgroup_attrib_float(shgrp, "rot", 4); + DRW_shgroup_attrib_float(shgrp, "val", 1); DRW_shgroup_uniform_vec3(shgrp, "color", &ma->r, 1); DRW_shgroup_uniform_short_to_int(shgrp, "draw_size", &part->draw_size, 1); DRW_shgroup_uniform_float(shgrp, "pixel_size", DRW_viewport_pixelsize_get(), 1); + DRW_shgroup_uniform_texture(shgrp, "ramp", globals_ramp); DRW_shgroup_instance_batch(shgrp, geom); } } |