summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-06-20 16:44:41 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-06-27 20:50:49 +0200
commitba369198874a119a6e155067e03ad5de73a1a937 (patch)
tree2bd43f79132c694a59d746d6c36645dc05e14fee /examples
parent97ffb3431d58b7abe028b6ab6b2e3fd9ef03bdf8 (diff)
simple-qml example updated
Updated to work with the latest versions. Parameters are now used only for Uniforms. There is no longer a need to specify the data type. That assumes on the otherhand that the shader uses the correct type (QColor -> vec4 and not vec3). StandardUniforms are specified by setting a StandardUniform enum as the Parameter's value and setting a ParameterMapper with the StandardUniform binding type. Attributes and now only defined by creating a ParameterMapper. We could get rid of this level of configuration. However, I believe that we can keep Material simples by using Parameter for used defined uniforms. Then for standardUniforms we can define Parameters in Technique and/or Effect. That way simple users will only touch Material and advanced users can have a greater control with Effect, Technique, RenderPasses and ParameterBinder. Note: This commit is part of a series of modifications that need to be merged together but are committed separately to ease the reviewing process. This is the last commit of the serie. Compiling and rendering should work from that point on. Change-Id: Ie2b3ae848e9c7e56fee685a0856bd58740bb0155 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/simple-qml/main.qml19
1 files changed, 11 insertions, 8 deletions
diff --git a/examples/simple-qml/main.qml b/examples/simple-qml/main.qml
index 1c6c83a46..1521fe11d 100644
--- a/examples/simple-qml/main.qml
+++ b/examples/simple-qml/main.qml
@@ -252,23 +252,23 @@ Node {
parameters : [
// Maybe having a AttributeParameter, StandardUniformParameter, UniformParameter would be better
- Parameter { name : "ambient"; datatype: Parameter.FloatVec3; value : Qt.vector3d(ballMaterial.ambientColor.r, ballMaterial.ambientColor.g, ballMaterial.ambientColor.b) },
- Parameter { name : "lightIntensity"; datatype: Parameter.FloatVec3; value : Qt.vector3d(0.5, 0.5, 0.5);}
+ Parameter { name : "ambient"; value : Qt.vector3d(ballMaterial.ambientColor.r, ballMaterial.ambientColor.g, ballMaterial.ambientColor.b) },
+ Parameter { name : "lightIntensity"; value : Qt.vector3d(0.5, 0.5, 0.5);}
]
// Custom properties go here
effect : Effect {
- parameters : [
- Parameter { name : "diffuse"; datatype: Parameter.FloatVec3; value : ballMaterial.diffuseColor;}
- ]
+ parameters : [Parameter { name : "diffuse"; value : Qt.vector3d(ballMaterial.diffuseColor.r, ballMaterial.diffuseColor.g, ballMaterial.diffuseColor.b);}]
techniques : [
Technique {
criteria : [TechniqueCriterion { criterionType : TechniqueCriterion.RenderingStyle; criterionValue : "forward"}]
parameters : [
- Parameter { name : "lightPos"; datatype: Parameter.FloatVec4; value : Qt.vector4d(10.0, 10.0, 0.0, 1.0);}
- ]
+ Parameter { name : "lightPos"; value : Qt.vector4d(10.0, 10.0, 0.0, 1.0);},
+ Parameter { name : "mVM"; value : Parameter.ModelView},
+ Parameter { name : "mNM"; value : Parameter.ModelViewNormal},
+ Parameter { name : "mVP"; value : Parameter.ModelViewProjection}]
renderPasses : [
RenderPass {
@@ -279,7 +279,10 @@ Node {
ParameterMapper {parameterName: "ambient"; shaderVariableName: "ka"; bindingType: ParameterMapper.Uniform},
ParameterMapper {parameterName: "diffuse"; shaderVariableName: "kd"; bindingType: ParameterMapper.Uniform},
ParameterMapper {parameterName: "lightPos"; shaderVariableName: "lightPosition"; bindingType: ParameterMapper.Uniform},
- ParameterMapper {parameterName: "lightIntensity"; shaderVariableName: "lightIntensity"; bindingType: ParameterMapper.Uniform}
+ ParameterMapper {parameterName: "lightIntensity"; shaderVariableName: "lightIntensity"; bindingType: ParameterMapper.Uniform},
+ ParameterMapper {parameterName: "mVM"; shaderVariableName: "modelViewMatrix"; bindingType: ParameterMapper.StandardUniform},
+ ParameterMapper {parameterName: "mNM"; shaderVariableName: "normalMatrix"; bindingType: ParameterMapper.StandardUniform},
+ ParameterMapper {parameterName: "mVP"; shaderVariableName: "mvp"; bindingType: ParameterMapper.StandardUniform}
]
shaderProgram : ShaderProgram {
id : diffuseShader