diff options
Diffstat (limited to 'tests/manual')
-rw-r--r-- | tests/manual/skinned-mesh/SkinnedEntity.qml | 37 | ||||
-rw-r--r-- | tests/manual/skinned-mesh/SkinnedPbrEffect.qml | 38 | ||||
-rw-r--r-- | tests/manual/skinned-mesh/main.qml | 64 | ||||
-rw-r--r-- | tests/manual/skinned-mesh/skinned-mesh.pro | 4 | ||||
-rw-r--r-- | tests/manual/skinned-mesh/skinned-mesh.qrc | 2 |
5 files changed, 95 insertions, 50 deletions
diff --git a/tests/manual/skinned-mesh/SkinnedEntity.qml b/tests/manual/skinned-mesh/SkinnedEntity.qml new file mode 100644 index 000000000..455f3869e --- /dev/null +++ b/tests/manual/skinned-mesh/SkinnedEntity.qml @@ -0,0 +1,37 @@ +import Qt3D.Core 2.10 +import Qt3D.Render 2.10 +import Qt3D.Input 2.0 +import Qt3D.Extras 2.10 + +Entity { + id: root + + property Effect effect: skinnedPbrEffect + property url source: "" + property alias transform: transform + property color baseColor: "red" + + components: [ + Transform { + id: transform + rotationX: -90 + }, + Mesh { + source: root.source + }, + Armature { + skeleton: SkeletonLoader { + source: root.source + onStatusChanged: console.log("skeleton loader status: " + status) + onJointCountChanged: console.log("skeleton has " + jointCount + " joints") + } + }, + Material { + effect: root.effect + + parameters: [ + Parameter { name: "baseColor"; value: root.baseColor } + ] + } + ] +} diff --git a/tests/manual/skinned-mesh/SkinnedPbrEffect.qml b/tests/manual/skinned-mesh/SkinnedPbrEffect.qml new file mode 100644 index 000000000..79e4f7757 --- /dev/null +++ b/tests/manual/skinned-mesh/SkinnedPbrEffect.qml @@ -0,0 +1,38 @@ +import Qt3D.Core 2.10 +import Qt3D.Render 2.10 +import Qt3D.Input 2.0 +import Qt3D.Extras 2.10 + +Effect { + id: skinnedPbrEffect + parameters: [ + Parameter { name: "baseColor"; value: "red" }, + Parameter { name: "metalness"; value: 0.1 }, + Parameter { name: "roughness"; value: 0.2 } + ] + + techniques: [ + Technique { + filterKeys: FilterKey { name: "renderingStyle"; value: "forward" } + + graphicsApiFilter { + api: GraphicsApiFilter.OpenGL + majorVersion: 3 + minorVersion: 1 + profile: GraphicsApiFilter.CoreProfile + } + + renderPasses: RenderPass { + shaderProgram: ShaderProgram { + id: prog + vertexShaderCode: loadSource("qrc:/skinnedPbr.vert") + } + + ShaderProgramBuilder { + shaderProgram: prog + fragmentShaderGraph: "qrc:/shaders/graphs/metalroughuniform.frag.json" + } + } + } + ] +} diff --git a/tests/manual/skinned-mesh/main.qml b/tests/manual/skinned-mesh/main.qml index c07ab5eeb..31c618382 100644 --- a/tests/manual/skinned-mesh/main.qml +++ b/tests/manual/skinned-mesh/main.qml @@ -56,56 +56,22 @@ import Qt3D.Extras 2.10 DefaultSceneEntity { id: scene - Entity { - components: [ - Transform { - rotationX: -90 - }, - Mesh { - source: "qrc:/assets/gltf/2.0/RiggedFigure/RiggedFigure.gltf" - }, - Armature { - skeleton: SkeletonLoader { - source: "qrc:/assets/gltf/2.0/RiggedFigure/RiggedFigure.gltf" - onStatusChanged: console.log("skeleton loader status: " + status) - onJointCountChanged: console.log("skeleton has " + jointCount + " joints") - } - }, - Material { - effect: Effect { - id: skinnedPbrEffect - parameters: [ - Parameter { name: "baseColor"; value: "red" }, - Parameter { name: "metalness"; value: 0.1 }, - Parameter { name: "roughness"; value: 0.2 } - ] - - techniques: [ - Technique { - filterKeys: FilterKey { name: "renderingStyle"; value: "forward" } - - graphicsApiFilter { - api: GraphicsApiFilter.OpenGL - majorVersion: 3 - minorVersion: 2 - profile: GraphicsApiFilter.CoreProfile - } + SkinnedPbrEffect { + id: skinnedPbrEffect + } - renderPasses: RenderPass { - shaderProgram: ShaderProgram { - id: prog - vertexShaderCode: loadSource("qrc:/skinnedPbr.vert") - } + SkinnedEntity { + id: riggedFigure + effect: skinnedPbrEffect + source: "qrc:/assets/gltf/2.0/RiggedFigure/RiggedFigure.gltf" + } - ShaderProgramBuilder { - shaderProgram: prog - fragmentShaderGraph: "qrc:/shaders/graphs/metalroughuniform.frag.json" - } - } - } - ] - } - } - ] + SkinnedEntity { + id: riggedSimple + effect: skinnedPbrEffect + source: "qrc:/assets/gltf/2.0/RiggedSimple/RiggedSimple.gltf" + baseColor: "blue" + transform.scale: 0.05 + transform.translation: Qt.vector3d(0.5, 0.25, 0.0) } } diff --git a/tests/manual/skinned-mesh/skinned-mesh.pro b/tests/manual/skinned-mesh/skinned-mesh.pro index 1430b5c36..dc5fd3730 100644 --- a/tests/manual/skinned-mesh/skinned-mesh.pro +++ b/tests/manual/skinned-mesh/skinned-mesh.pro @@ -9,7 +9,9 @@ SOURCES += \ OTHER_FILES += \ main.qml \ - DefaultSceneEntity.qml + DefaultSceneEntity.qml \ + SkinnedEntity.qml \ + SkinnedPbrEffect.qml RESOURCES += \ skinned-mesh.qrc \ diff --git a/tests/manual/skinned-mesh/skinned-mesh.qrc b/tests/manual/skinned-mesh/skinned-mesh.qrc index ce8d0f976..e062e6be4 100644 --- a/tests/manual/skinned-mesh/skinned-mesh.qrc +++ b/tests/manual/skinned-mesh/skinned-mesh.qrc @@ -3,5 +3,7 @@ <file>main.qml</file> <file>DefaultSceneEntity.qml</file> <file>skinnedPbr.vert</file> + <file>SkinnedEntity.qml</file> + <file>SkinnedPbrEffect.qml</file> </qresource> </RCC> |