Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-03-08 19:54:14 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-03-10 04:18:25 +0300
commit7c31edb385fce1ce3425c88994a333f4e6f6d5bc (patch)
tree9c5d6404c4c888a66fbb56ac6753c67335b7a187 /source/blender/draw/intern/DRW_render.h
parent4402633e33c9687ad24467f5dc7891ad2b2c1f26 (diff)
DRW: Culling: Expose & Add culling functions to engines.
This way engines can do preemptive culling by themselves.
Diffstat (limited to 'source/blender/draw/intern/DRW_render.h')
-rw-r--r--source/blender/draw/intern/DRW_render.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 4815c117a8c..9f0c06a2886 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -77,6 +77,11 @@ typedef struct DRWInterface DRWInterface;
typedef struct DRWPass DRWPass;
typedef struct DRWShadingGroup DRWShadingGroup;
+/* TODO Put it somewhere else? */
+typedef struct BoundSphere {
+ float center[3], radius;
+} BoundSphere;
+
/* declare members as empty (unused) */
typedef char DRWViewportEmptyList;
@@ -478,6 +483,10 @@ void DRW_state_invert_facing(void);
void DRW_state_clip_planes_add(float plane_eq[4]);
void DRW_state_clip_planes_reset(void);
+/* Culling, return true if object is inside view frustum. */
+bool DRW_culling_sphere_test(BoundSphere *bsphere);
+bool DRW_culling_box_test(BoundBox *bbox);
+
/* Selection */
void DRW_select_load_id(unsigned int id);