summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-09-29 09:30:51 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-09-30 12:17:33 +0200
commitc01037ee79b294887cceed22768561d6143ae3d9 (patch)
treed1341fe8eb0c453c8899eac5cd70496eb145ff7b /examples
parent4c211cf991c88f82b30f965357896fbaa2d57ff6 (diff)
Tessellation-Modes example updated to use uniforms array
Change-Id: I4a838c7867e822705f2ab65fd099ba81698f8f2a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/tessellation-modes/TessellatedWireframeEffect.qml10
-rw-r--r--examples/tessellation-modes/TessellatedWireframeMaterial.qml17
-rw-r--r--examples/tessellation-modes/main.qml15
3 files changed, 14 insertions, 28 deletions
diff --git a/examples/tessellation-modes/TessellatedWireframeEffect.qml b/examples/tessellation-modes/TessellatedWireframeEffect.qml
index 0449563d1..a20608686 100644
--- a/examples/tessellation-modes/TessellatedWireframeEffect.qml
+++ b/examples/tessellation-modes/TessellatedWireframeEffect.qml
@@ -96,14 +96,8 @@ Effect {
// TODO: Support uniform arrays. We want to be able to do (or something similar) and map vectors or lists of values
// through to the uniforms
- //ParameterMapper { parameterName: "innerTessLevel"; shaderVariableName: "inner"; bindingType: ParameterMapper.Uniform }
- //ParameterMapper { parameterName: "outerTessLevel"; shaderVariableName: "outer"; bindingType: ParameterMapper.Uniform }
- ParameterMapper { parameterName: "innerTessLevel0"; shaderVariableName: "inner[0]"; bindingType: ParameterMapper.Uniform },
- ParameterMapper { parameterName: "innerTessLevel1"; shaderVariableName: "inner[1]"; bindingType: ParameterMapper.Uniform },
- ParameterMapper { parameterName: "outerTessLevel0"; shaderVariableName: "outer[0]"; bindingType: ParameterMapper.Uniform },
- ParameterMapper { parameterName: "outerTessLevel1"; shaderVariableName: "outer[1]"; bindingType: ParameterMapper.Uniform },
- ParameterMapper { parameterName: "outerTessLevel2"; shaderVariableName: "outer[2]"; bindingType: ParameterMapper.Uniform },
- ParameterMapper { parameterName: "outerTessLevel3"; shaderVariableName: "outer[3]"; bindingType: ParameterMapper.Uniform }
+ ParameterMapper { parameterName: "innerTessLevel"; shaderVariableName: "inner[0]"; bindingType: ParameterMapper.Uniform },
+ ParameterMapper { parameterName: "outerTessLevel"; shaderVariableName: "outer[0]"; bindingType: ParameterMapper.Uniform }
]
shaderProgram: ShaderProgram {
diff --git a/examples/tessellation-modes/TessellatedWireframeMaterial.qml b/examples/tessellation-modes/TessellatedWireframeMaterial.qml
index edd24795c..307c8b31b 100644
--- a/examples/tessellation-modes/TessellatedWireframeMaterial.qml
+++ b/examples/tessellation-modes/TessellatedWireframeMaterial.qml
@@ -58,12 +58,9 @@ Material {
property real shininess: 150.0
property real lineWidth: 1.0
property color lineColor: Qt.rgba( 1.0, 1.0, 1.0, 1.0 )
- property real innerTessLevel0: 1.0
- property real innerTessLevel1: 1.0
- property real outerTessLevel0: 1.0
- property real outerTessLevel1: 1.0
- property real outerTessLevel2: 1.0
- property real outerTessLevel3: 1.0
+ property var innerTessLevel: [1.0, 1.0 ]
+ property var outerTessLevel: [1.0, 1.0, 1.0, 1.0]
+
parameters: [
Parameter { name: "ambient"; value: Qt.vector3d(root.ambient.r, root.ambient.g, root.ambient.b) },
@@ -72,11 +69,7 @@ Material {
Parameter { name: "shininess"; value: root.shininess },
Parameter { name: "line.width"; value: root.lineWidth },
Parameter { name: "line.color"; value: root.lineColor },
- Parameter { name: "innerTessLevel0"; value: root.innerTessLevel0 },
- Parameter { name: "innerTessLevel1"; value: root.innerTessLevel1 },
- Parameter { name: "outerTessLevel0"; value: root.outerTessLevel0 },
- Parameter { name: "outerTessLevel1"; value: root.outerTessLevel1 },
- Parameter { name: "outerTessLevel2"; value: root.outerTessLevel2 },
- Parameter { name: "outerTessLevel3"; value: root.outerTessLevel3 }
+ Parameter { name: "innerTessLevel"; value: root.innerTessLevel },
+ Parameter { name: "outerTessLevel"; value: root.outerTessLevel }
]
}
diff --git a/examples/tessellation-modes/main.qml b/examples/tessellation-modes/main.qml
index 5ff86361e..8f351b870 100644
--- a/examples/tessellation-modes/main.qml
+++ b/examples/tessellation-modes/main.qml
@@ -78,12 +78,11 @@ Entity {
ambient: Qt.rgba( 0.2, 0.0, 0.0, 1.0 )
diffuse: Qt.rgba( 0.8, 0.0, 0.0, 1.0 )
- innerTessLevel0: 1.0
- innerTessLevel1: 1.0
- outerTessLevel0: 1.0
- outerTessLevel1: 1.0
- outerTessLevel2: 1.0
- outerTessLevel3: 1.0
+ property real innerLevel : 1.0
+ property real outerLevel : 1.0
+
+ innerTessLevel : [innerLevel, innerLevel]
+ outerTessLevel : [outerLevel, outerLevel, outerLevel, outerLevel]
effect: TessellatedWireframeEffect {
tessellationControlShaderSourceFile: ":/shaders/quads.tcs"
@@ -96,7 +95,7 @@ Entity {
QQ2.NumberAnimation {
target: quadMaterial;
- properties: "innerTessLevel0,innerTessLevel1,outerTessLevel0,outerTessLevel1,outerTessLevel2,outerTessLevel3";
+ properties: "innerLevel,outerLevel";
duration: 1000;
from: 1.0
to: 20.0
@@ -104,7 +103,7 @@ Entity {
QQ2.NumberAnimation {
target: quadMaterial;
- properties: "innerTessLevel0,innerTessLevel1,outerTessLevel0,outerTessLevel1,outerTessLevel2,outerTessLevel3";
+ properties: "innerLevel,outerLevel";
duration: 1000;
from: 20.0
to: 1.0