diff options
author | Andy Nichols <andy.nichols@qt.io> | 2019-08-26 13:39:45 +0200 |
---|---|---|
committer | Andy Nichols <andy.nichols@qt.io> | 2019-08-29 07:51:48 +0200 |
commit | 9ea345e6372433217915a45b73acb81a81627bde (patch) | |
tree | 74e67716130df22dd9ecd7dad5722c272cdaf146 /src/runtimerender/graphobjects | |
parent | 0cce5a54b0f9971021fc0bd0c11198fbe7845ee8 (diff) |
Add property to Camera to enable frustum culling when needed
By default frustum culling is disabled because for most scenes all items
are always visible. There is a not insignificant cost to doing frustum
culling, so it shouldn't be the default behavior.
Change-Id: Ibc0c0a4bd1cf65a215256de9ec22ca1d97eb6de5
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/runtimerender/graphobjects')
-rw-r--r-- | src/runtimerender/graphobjects/Qt3DSRenderCamera.cpp | 1 | ||||
-rw-r--r-- | src/runtimerender/graphobjects/Qt3DSRenderCamera.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/runtimerender/graphobjects/Qt3DSRenderCamera.cpp b/src/runtimerender/graphobjects/Qt3DSRenderCamera.cpp index b9f9c20..71f74d7 100644 --- a/src/runtimerender/graphobjects/Qt3DSRenderCamera.cpp +++ b/src/runtimerender/graphobjects/Qt3DSRenderCamera.cpp @@ -159,6 +159,7 @@ SCamera::SCamera() , m_ClipFar(10000) , m_FOV(60) , m_FOVHorizontal(false) + , m_EnableFrustumCulling(false) , m_ScaleMode(CameraScaleModes::Fit) , m_ScaleAnchor(CameraScaleAnchors::Center) { diff --git a/src/runtimerender/graphobjects/Qt3DSRenderCamera.h b/src/runtimerender/graphobjects/Qt3DSRenderCamera.h index be8d53e..0ecfc83 100644 --- a/src/runtimerender/graphobjects/Qt3DSRenderCamera.h +++ b/src/runtimerender/graphobjects/Qt3DSRenderCamera.h @@ -110,6 +110,7 @@ namespace render { // Record some values from creating the projection matrix // to use during mouse picking. QT3DSVec2 m_FrustumScale; + bool m_EnableFrustumCulling; SCamera(); |