diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-03-10 01:49:08 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-03-10 04:18:25 +0300 |
commit | dfd8a52cd2e83b350e75cf69ee96d347e921ce26 (patch) | |
tree | e00597ca87754e7d493d4f98bc23234fa90494a6 /source/blender/draw/intern | |
parent | 1b8ba6b8b9eee97cf9ba979ce3be23c95e9c5704 (diff) |
DRW: Change clip planes API.
The draw manager now just set the number of active clip planes. It's now up to the engine to specify the plane equations as uniform/ubo/constant.
Diffstat (limited to 'source/blender/draw/intern')
-rw-r--r-- | source/blender/draw/intern/DRW_render.h | 2 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_manager_exec.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h index 7a8fc5ff3c1..cca08f8da9b 100644 --- a/source/blender/draw/intern/DRW_render.h +++ b/source/blender/draw/intern/DRW_render.h @@ -480,7 +480,7 @@ void DRW_state_lock(DRWState state); void DRW_state_invert_facing(void); -void DRW_state_clip_planes_add(float plane_eq[4]); +void DRW_state_clip_planes_count_set(unsigned int plane_ct); void DRW_state_clip_planes_reset(void); /* Culling, return true if object is inside view frustum. */ diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c index 49bb9f114a7..f53631e7e54 100644 --- a/source/blender/draw/intern/draw_manager_exec.c +++ b/source/blender/draw/intern/draw_manager_exec.c @@ -366,10 +366,10 @@ void DRW_state_invert_facing(void) * and if the shaders have support for it (see usage of gl_ClipDistance). * Be sure to call DRW_state_clip_planes_reset() after you finish drawing. **/ -void DRW_state_clip_planes_add(float plane_eq[4]) +void DRW_state_clip_planes_count_set(unsigned int plane_ct) { - BLI_assert(DST.num_clip_planes < MAX_CLIP_PLANES-1); - // copy_v4_v4(DST.view_data.clip_planes_eq[DST.num_clip_planes++], plane_eq); + BLI_assert(plane_ct <= MAX_CLIP_PLANES); + DST.num_clip_planes = plane_ct; } void DRW_state_clip_planes_reset(void) |