diff options
author | Jacques Lucke <jacques@blender.org> | 2020-09-29 13:39:41 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-09-29 13:39:41 +0300 |
commit | e12767a0352a9e113892b4a07c6c8446d3ff361f (patch) | |
tree | 9fe48bb33bda0256e1421f34714bc22668d7b06e /source/blender/draw/engines/overlay/overlay_private.h | |
parent | 6374644fd11797806ab2e92341e5e7d32e94067b (diff) |
Volumes: support selection and outlines in viewport
Previously, one could only select a volume object in the outliner
or by clicking on the object origin. This patch allows you to click
on the actual volume.
Furthermore, the generated (invisible) mesh that is used for
selection is also used to draw an outline for the volume object now.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D9022
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_private.h')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_private.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_private.h b/source/blender/draw/engines/overlay/overlay_private.h index 2cf2ca34801..ada2c2c8d1f 100644 --- a/source/blender/draw/engines/overlay/overlay_private.h +++ b/source/blender/draw/engines/overlay/overlay_private.h @@ -119,6 +119,7 @@ typedef struct OVERLAY_PassList { DRWPass *particle_ps; DRWPass *pointcloud_ps; DRWPass *sculpt_mask_ps; + DRWPass *volume_ps; DRWPass *wireframe_ps; DRWPass *wireframe_xray_ps; DRWPass *xray_fade_ps; @@ -285,6 +286,7 @@ typedef struct OVERLAY_PrivateData { DRWShadingGroup *particle_shapes_grp; DRWShadingGroup *pointcloud_dots_grp; DRWShadingGroup *sculpt_mask_grp; + DRWShadingGroup *volume_selection_surface_grp; DRWShadingGroup *wires_grp[2][2]; /* With and without coloring. */ DRWShadingGroup *wires_all_grp[2][2]; /* With and without coloring. */ DRWShadingGroup *wires_hair_grp[2][2]; /* With and without coloring. */ @@ -511,6 +513,10 @@ void OVERLAY_edit_text_cache_init(OVERLAY_Data *vedata); void OVERLAY_edit_text_cache_populate(OVERLAY_Data *vedata, Object *ob); void OVERLAY_edit_text_draw(OVERLAY_Data *vedata); +void OVERLAY_volume_cache_init(OVERLAY_Data *vedata); +void OVERLAY_volume_cache_populate(OVERLAY_Data *vedata, Object *ob); +void OVERLAY_volume_draw(OVERLAY_Data *vedata); + void OVERLAY_edit_mesh_init(OVERLAY_Data *vedata); void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata); void OVERLAY_edit_mesh_cache_populate(OVERLAY_Data *vedata, Object *ob); |