From 6b69e1e46197fd4113e7001042765386c3b7356d Mon Sep 17 00:00:00 2001 From: Janne Kangas Date: Fri, 14 Feb 2020 10:43:48 +0200 Subject: Handle ordered attribute in runtime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add missing handler for "ordered" attribute also on runtime side. Also, uncomment assert for unknown attribute, as silently ignored attributes can be tricky to debug. This does not fix the issue of non-ordered groups having wrong depth/alpha in Editor, but makes Editor and Runtime behave identically. Task-id: QT3DS-4058 Change-Id: Ic68d245143664d8ac4e74a6b3434f6ff476608a6 Reviewed-by: Antti Määttä Reviewed-by: Miikka Heikkinen Reviewed-by: Tomi Korpipää --- src/dm/systems/Qt3DSDMComposerTypeDefinitions.h | 3 ++- src/engine/Qt3DSRenderRuntimeBindingImplTranslation.cpp | 2 +- src/runtimerender/Qt3DSRenderUIPSharedTranslation.h | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h index e8deeb8..0770d19 100644 --- a/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h +++ b/src/dm/systems/Qt3DSDMComposerTypeDefinitions.h @@ -122,6 +122,7 @@ class IPropertySystem; HANDLE_COMPOSER_PROPERTY(orientation, m_Orientation, TDataStrPtr, L"Left Handed") \ HANDLE_COMPOSER_PROPERTY(boneid, m_BoneId, qt3ds::QT3DSI32, 0) \ HANDLE_COMPOSER_PROPERTY(ignoresparent, m_IgnoresParent, bool, false) \ + HANDLE_COMPOSER_PROPERTY(ordered, m_ordered, bool, false) \ HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"") #define ITERATE_COMPOSER_MODEL_PROPERTIES \ @@ -245,7 +246,7 @@ class IPropertySystem; HANDLE_COMPOSER_PROPERTY_DUPLICATE(controlledproperty, m_ControlledProperty, TDataStrPtr, L"") #define ITERATE_COMPOSER_GROUP_PROPERTIES \ - HANDLE_COMPOSER_PROPERTY(ordered, m_ordered, bool, false) \ + HANDLE_COMPOSER_PROPERTY_DUPLICATE(ordered, m_ordered, bool, false) \ HANDLE_COMPOSER_PROPERTY_DUPLICATE(variants, m_variants, TDataStrPtr, L"") \ #define ITERATE_COMPOSER_LIGHT_PROPERTIES \ diff --git a/src/engine/Qt3DSRenderRuntimeBindingImplTranslation.cpp b/src/engine/Qt3DSRenderRuntimeBindingImplTranslation.cpp index c8a148b..f416d66 100644 --- a/src/engine/Qt3DSRenderRuntimeBindingImplTranslation.cpp +++ b/src/engine/Qt3DSRenderRuntimeBindingImplTranslation.cpp @@ -879,7 +879,7 @@ struct SNodeTranslator : public Qt3DSTranslator break; default: // Unknown attribute - // QT3DS_ASSERT( false ); + QT3DS_ASSERT(false); break; } } diff --git a/src/runtimerender/Qt3DSRenderUIPSharedTranslation.h b/src/runtimerender/Qt3DSRenderUIPSharedTranslation.h index 053b267..ca0e5e8 100644 --- a/src/runtimerender/Qt3DSRenderUIPSharedTranslation.h +++ b/src/runtimerender/Qt3DSRenderUIPSharedTranslation.h @@ -313,7 +313,8 @@ namespace render { HANDLE_QT3DS_RENDER_VEC3_PROPERTY(Node, Pivot, TransformDirty) \ HANDLE_QT3DS_RENDER_OPACITY_PROPERTY(Node, LocalOpacity, TransformDirty) \ HANDLE_QT3DS_ROTATION_ORDER_PROPERTY(Node, RotationOrder, TransformDirty) \ - HANDLE_QT3DS_NODE_ORIENTATION_PROPERTY(Node, LeftHanded, TransformDirty) + HANDLE_QT3DS_NODE_ORIENTATION_PROPERTY(Node, LeftHanded, TransformDirty) \ + HANDLE_QT3DS_RENDER_PROPERTY(Group, ordered, Dirty) #define ITERATE_QT3DS_RENDER_LAYER_PROPERTIES \ HANDLE_QT3DS_NODE_FLAGS_INVERSE_PROPERTY(Layer, LayerEnableDepthTest, Dirty) \ -- cgit v1.2.3