summaryrefslogtreecommitdiff
path: root/clutter/clutter-stage-private.h
diff options
context:
space:
mode:
authorRobert Bragg <robert@linux.intel.com>2011-02-01 18:32:08 +0000
committerRobert Bragg <robert@linux.intel.com>2011-03-07 13:26:20 +0000
commit19b86229831a049e8f337e2d7a7a4782961b664c (patch)
treea042491b95e6aa7bcb2a75c9cc985497a0a45027 /clutter/clutter-stage-private.h
parenteef9078f892c3b042beed65288c3581d225c4f46 (diff)
downloadclutter-19b86229831a049e8f337e2d7a7a4782961b664c.tar.gz
Optimize culling by doing culling in eye-coordinates
This implements a variation of frustum culling whereby we convert screen space clip rectangles into eye space mini-frustums so that we don't have to repeatedly transform actor paint-volumes all the way into screen coordinates to perform culling, we just have to apply the modelview transform and then determine each points distance from the planes that make up the clip frustum. By avoiding the projective transform, perspective divide and viewport scale for each point culled this makes culling much cheaper.
Diffstat (limited to 'clutter/clutter-stage-private.h')
-rw-r--r--clutter/clutter-stage-private.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/clutter/clutter-stage-private.h b/clutter/clutter-stage-private.h
index 0238cba18..7dad14fc7 100644
--- a/clutter/clutter-stage-private.h
+++ b/clutter/clutter-stage-private.h
@@ -25,6 +25,7 @@
#include <clutter/clutter-stage-window.h>
#include <clutter/clutter-stage.h>
#include <clutter/clutter-input-device.h>
+#include <clutter/clutter-private.h>
G_BEGIN_DECLS
@@ -75,7 +76,7 @@ guint _clutter_stage_get_picks_per_frame_counter (ClutterStage *stage);
ClutterPaintVolume *_clutter_stage_paint_volume_stack_allocate (ClutterStage *stage);
void _clutter_stage_paint_volume_stack_free_all (ClutterStage *stage);
-const ClutterGeometry *_clutter_stage_get_clip (ClutterStage *stage);
+const ClutterPlane *_clutter_stage_get_clip (ClutterStage *stage);
ClutterStageQueueRedrawEntry *_clutter_stage_queue_actor_redraw (ClutterStage *stage,
ClutterStageQueueRedrawEntry *entry,