TechniqueCriterion class

Aims at replacing Tag for specifying technique filtering criteria.

Change-Id: I95c24b0d2f5ee8163d0012fa8b20b6a4fd9363c6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Replaced Transform::transformDirty bool by QAtomicInt

Solves a race condition pointed out by Helgrind.

Change-Id: I9ac37b886fb80dbc3080bda82c21467c5374c01f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Q_DECLARE_METATYPE in QAbstractTechnique

Change-Id: Id90cc304dd66c1923328e767921cbec3799f05ba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
QAbstractEffect is a QObservable

That way we can notify the QChangeArbiter when a Technique is added or
removed.

Change-Id: Iec32546ccef862d7b459b61eb86f52075f3c931d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
RenderEffect

Change-Id: I5ccb04e8e8f323c0673af49201c75b17dde908ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Static mutex in RenderView

The mutex needs to be the same across all RenderView instances otherwise it
doesn't protect anything.

Change-Id: I5b9b0d842e61961f3f8c76a130db039614e9b296
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
EffectManager

Change-Id: I105e38eca014eac4ad0e4e1b612f3d5e91dcce84
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Added EffectManager to Renderer

Change-Id: Iaa22f734d58b52c8c849ef8fdb305f7aa3305ddd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Use RenderEffect when building RenderView instances

Change-Id: I27d3e210d3411d392141bf17af3553b272919ff0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Made QUuid in Entity const

Change-Id: I648a3bb64a2ef449f813baabf75ab46f027217ae
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Check and comments in QChangeArbiter

Change-Id: Iff7e93e6160ef8ec2a69affbb40aa70da6ab2074
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Move QUuid member out of Mesh into QAbstractMesh

Change-Id: If9ddd66c6d45c2d5405043377c7dc3ee07fe5ea0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Replaced tags by TechniqueCriterion in TechniqueFilter

Change-Id: Ied8fdccecc371b288a44c8766dbfe4dda02c6d42
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Updated Camera to work with Camera controller

Change-Id: Id3e9e42a006dec91a77b9bba4f66d4ebf8a55ff9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Corrected the way a Transform is updated

From C++ or QML, the transform has to be notified if one of its inner
AbstractTransform has changed. The AbstractTransform transformChanged signal
is now connect directly in Transform. It was only done on the QML side
previously. This cause transforms not to be updated when used from C++.

Change-Id: Ic690d09bcf280915dc3c32868ad0156f36809e5b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
CameraController usable from QML

Configuration QML element with controlledCamera property which has to be set
to as valid Camera element we want to control.
Slight hack (behind the scene) to make that work. Will be cleaned up on the
next iteration.

Change-Id: I794ee1c26207178f94765c873331bce19efaab9f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
OpenAL aspect empty shell

Change-Id: I9b3eb51c3f40eb4dd5e746502e4d26b0703b1abd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>