ParameterBinder element

This element offers a way to specify the binding of parameters with a Shader
program in a RenderPass. A parameter is referenced by its name, the
shaderVariable by its name and the binding type has to be set to determine
if the binding is for an Attribute or a Uniform.

Change-Id: I75cdc9f760013f8f08aed82429afb6800305627c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Added ParameterBinder in Qt3D.Render

Change-Id: I057a8edd0fbdada0ee35f417fc74363bc99240a5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
ParameterBinder added in RenderPass

Change-Id: Ifac0771d68989fb719272a75310e85f7f3b3845b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Quick3DRenderPass now has a list of bindings

Change-Id: I184ad1fac1b65bd88eab06b6fb70c22c34a454a1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Simple-qml updated to use ParameterBinder

Note: This example asserts and this is the expected behavior as the Backend
renderer is not completed yet.

Change-Id: Ic2bf2bddf67ffccf1c671cf35011ea126918d8ab
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Comments in RenderView

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

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

Change-Id: Iac70cb43f8011eb7d1b39db86adfd613215af50d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Hash of Parameters indexed by their names in RenderMaterial

Change-Id: I3055cd49fc0895c1ccb0b839ad69aede73f4138f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Added getters for shader and bindings in RenderRenderPass

Change-Id: I1e1775237e1316b37ad55301d6ac7a3c7c9f0289
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Expose StandardUniform in Parameter as a Q_PROPERTY

Change-Id: Icd1891d8a59d905c69f320fdd469d830faa712d1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
simple_qml example updated

Parameters and bindings are defined correctly.

Change-Id: I7887e44a348a4d4023c01a1124602c42976ad9ad
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Rendering now uses Material, Effect, Technique and Shaders

The Renderer has been updated to properly set uniforms and attributes based on
the values stored in each RenderCommand. RenderView constructs a QUniformPack
for non standard uniforms, StandardUniforms are stored in the RenderShader and
Attributes bindings are stored in the RenderCommand.

Follow-up patches will further improve the current code once we can remove and
clean areas that were set up for the hacked renderer.

Note: This breaks rendering of meshes relying on the default material. This
will be fixed in a separate patch.

Change-Id: I78f2a086cdc38ee9b403eeede5d290de9c07d2a8
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Initialize standardUniform value in Parameter

Change-Id: Ide4afe1dee0f443a9c468351b4487d449e2d1d07
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
New overloaded constructor for ParameterBinder

Change-Id: I9d493307cdd1327198142114c86000d5ec27be08
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Refactoring of Renderer, RenderMaterial and RenderTechnique

Removed most of the methods that were needed by the hacked Renderer.
The default technique has also been modified to use ParameterBinder.
The Renderer now has a simpler submission pass.

Note: This restores rendering of all examples as the default material is used
if none is provided. On the other hand this should trigger warnings in the
console.

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