Hi,
On Wednesday 01 Apr 2015 00:14:28 Unai IRIGOYEN wrote:
Hi,
I have been playing with the upcoming Qt3D those days and especially the QML
APIs.
I was wondering if there is a means of changing the opacity of an entity and
all children at the same time (same behavior as in QtQuick). At the moment
I must change the opacity in the material color of each entity in the tree
which results in verbose code. I have been trying to see if I can apply an
effect to the sub-tree using alpha composition or shaders but I'm out of
luck.
At present, property changes do not recurse down to children as there is no
promise that children will even have the same properties. In Qt Quick this
works because opacity is a property of the base Item element.
With Qt3D's Entity it has no such default properties. However, what you can do
is to make your own custom QEntity subclass and use that in your QML scene
such that when you set a property it recurses down to it's children and also
sets their opacities too.
The alternative would be to have the renderer on the backend do this
automatically but then the hierarchy is conflating transformation composition
and opacity composition. This assumption would likely break in other cases.
E.g. if somebody wants to have some opaque objects flying around a transparent
object.
As a side note, I'm also interested in particles for Qt3D. I understand it's
not priority number 1 but just take this as a vote for the feature.
Once the new Buffer/Attribute API lands this should be possible in an indirect
way using a custom set of shaders and framegraph to perform the particle
updates on the GPU. Out of the box support for particles will come later.
Please file a JIRA request if you need this.
Cheers,
Sean
--
Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest