diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-09-29 09:30:51 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-09-30 12:17:33 +0200 |
commit | c01037ee79b294887cceed22768561d6143ae3d9 (patch) | |
tree | d1341fe8eb0c453c8899eac5cd70496eb145ff7b /examples | |
parent | 4c211cf991c88f82b30f965357896fbaa2d57ff6 (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.qml | 10 | ||||
-rw-r--r-- | examples/tessellation-modes/TessellatedWireframeMaterial.qml | 17 | ||||
-rw-r--r-- | examples/tessellation-modes/main.qml | 15 |
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 |