diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-12-17 18:22:59 +0200 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2020-01-13 13:27:28 +0200 |
commit | 49fba62dfff3166e44a4b85f99180c27f2bba69e (patch) | |
tree | b7d1d2efb96115e30b44354f0f2e2eaa494aef60 /src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp | |
parent | 9f9c5497ac52b40ef336a0931cbac6068f6035e9 (diff) |
Implement ordered group
Add ordered property to group, which disables automatic depth sorting for
that group and all it's children. The group as a whole gets sorted with
other objects as if it was one object.
Task-number: QT3DS-3820
Change-Id: Iea71917fc78f4c543aa944d851c77b6794bd7d80
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp')
-rw-r--r-- | src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp index 712214a..2705b18 100644 --- a/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp +++ b/src/runtimerender/rendererimpl/Qt3DSRenderableObjects.cpp @@ -600,5 +600,14 @@ namespace render { theRenderContext, m_Generator.GetLayerGlobalRenderProperties(), TShaderFeatureSet()); } + + void SOrderedGroupRenderable::update() + { + QT3DSVec3 sum(0.0f, 0.0f, 0.0f); + for (int i = 0; i < m_renderables.size(); i++) + sum += m_renderables[i]->m_WorldCenterPoint; + sum *= 1.0f / m_renderables.size(); + m_WorldCenterPoint = sum; + } } } |