Removing defunct examples - Playground-qml

Cleaning up Qt3D examples:
Playground-qml

Change-Id: I3b4b248ebb822a5d1bbc5da379eca57a62bbe96d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This commit is contained in:
Robert Brock 2016-05-05 14:29:03 +01:00 committed by Sean Harmer
parent d8d17e922c
commit 65b4537af9
16 changed files with 0 additions and 11712 deletions

View File

@ -1,110 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
// For Qt.vector3d() and friends. For some reason this is provided by
// QQuickValueTypeProvider in QtQuick rather than the default value
// type provider in QtQml. So we will need to replicate this in Qt3D
// for the types that we wish to support. Otherwise we'll have to import
// QtQuick 2.1 all over the place.
import QtQuick 2.1
Effect {
// TODO add another effect that uses texture for diffuse
//property Texture2D diffuseTexture
property vector3d ambient: Qt.vector3d( 0.1, 0.1, 0.1 )
property vector3d diffuse: Qt.vector3d( 0.7, 0.7, 0.7 )
property vector3d specular: Qt.vector3d( 0.2, 0.2, 0.2 )
property real shininess: 10.0
techniques: [
Technique {
criteria : [
TechniqueCriterion { criterionType : TechniqueCriterion.RenderingStyle; criterionValue : "forward"}
]
renderPasses: [
RenderPass {
name: "zFill"
shaderProgram: zFillProgram
//renderStates: [ DepthState { depthTest: true; } ]
},
RenderPass {
name: "lighting"
shaderProgram: adsProgram
//renderStates: [ DepthState { depthWrites: true; depthTest: true; } ]
}
]
}
]
ShaderProgram {
id: zFillProgram
objectName: "zFillProgram"
vertexSourceFile: ":/shaders/zfill.vert"
fragmentSourceFile: ":/shaders/zfill.frag"
}
ShaderProgram {
id: adsProgram
objectName: "adsProgram"
vertexSourceFile: ":/shaders/phong.vert"
fragmentSourceFile: ":/shaders/phong.frag"
// // How to handle uniforms? Especially arrays and structs
// uniforms: [
// Uniform { name: "light[0].position:"; value: Qt.vector3d( 0.0, 0.0, 0.0 ) },
// Uniform { name: "light[0].intensity:"; value: Qt.vector3d( 1.0, 1.0, 1.0 ) }
// ]
}
}

View File

@ -1,278 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import QtQuick 2.2 as QQ2
Material {
id: material
property color ambientColor: "#cc2200";
property color diffuseColor: "pink"
property bool enabled: true
property Texture2D texture;
QQ2.Timer {
id: testTimer
interval: 5000
repeat: true
running: true
property bool even: true
onTriggered: {
console.log("Triggered");
even = !even
pointLightBlockShaderData.u.values[0].t = (even) ? null : shaderDataT
}
}
ShaderData {
id: shaderDataT
property real a: testTimer.even ? 1.0 : 0.0
property real b: 5.0
property var r: [Qt.vector3d(1, 1, 1), Qt.vector3d(2, 2, 2), Qt.vector3d(3, 3, 3), Qt.vector3d(4, 4, 4)]
}
parameters: [
Parameter { name: "ambient"; value: Qt.vector3d(material.ambientColor.r, material.ambientColor.g, material.ambientColor.b) },
Parameter { name: "lightIntensity"; value: Qt.vector3d(0.5, 0.5, 0.5)},
Parameter { name: "texture"; value: texture},
Parameter { name: "PointLightBlock"; value: ShaderData {
id: pointLightBlockShaderData
property color colorAmbient;
property color colorDiffuse;
property color colorSpecular;
property real shininess: 1.0;
property vector3d position: Qt.vector3d(1.0, 1.0, 0.0)
property vector3d intensity: Qt.vector3d(0.7, 0.8, 0.6);
property ShaderData s: ShaderData {
property real innerV: 3.0
property var innerVec3Array: [Qt.vector3d(1, 1, 1), Qt.vector3d(2, 2, 2), Qt.vector3d(3, 3, 3), Qt.vector3d(4, 4, 4)]
}
property ShaderDataArray u: ShaderDataArray {
id: array
ShaderData {
property real innerV: 2.0
property vector3d innerVec3
property var innerVec3Array: [Qt.vector3d(1, 1, 1), Qt.vector3d(2, 2, 2), Qt.vector3d(3, 3, 3), Qt.vector3d(4, 4, 4)]
property ShaderData t: shaderDataT
property ShaderDataArray c: ShaderDataArray {
ShaderData {
property real a: 3.0
property real b: 4.0
property var r: [Qt.vector3d(1, 1, 1), Qt.vector3d(2, 2, 2), Qt.vector3d(3, 3, 3), Qt.vector3d(4, 4, 4)]
}
ShaderData {
property real a: 2.0
property real b: 3.0
property var r: [Qt.vector3d(2, 2, 2), Qt.vector3d(1, 1, 1), Qt.vector3d(4, 4, 4), Qt.vector3d(3, 3, 3)]
}
}
}
ShaderData {
property real innerV: 3.2
property var innerVec3Array: [Qt.vector3d(1, 0, 1), Qt.vector3d(0, 2, 2), Qt.vector3d(3, 0, 3), Qt.vector3d(4, 0, 4)]
property ShaderData t: ShaderData {
property real a: 1.0
property real b: 5.0
property var r: [Qt.vector3d(1, 1, 1), Qt.vector3d(2, 2, 2), Qt.vector3d(3, 3, 3), Qt.vector3d(4, 4, 4)]
}
}
ShaderData {
property real innerV: 0.2
property var innerVec3Array: [Qt.vector3d(1, 0, 1), Qt.vector3d(0, 2, 2), Qt.vector3d(3, 0, 3), Qt.vector3d(4, 0, 4)]
}
}
QQ2.ColorAnimation on colorAmbient { from: "blue"; to: "yellow"; duration: 1000; loops: QQ2.Animation.Infinite }
QQ2.ColorAnimation on colorDiffuse { from: "red"; to: "green"; duration: 1000; loops: QQ2.Animation.Infinite }
QQ2.ColorAnimation on colorSpecular { from: "white"; to: "orange"; duration: 1000; loops: QQ2.Animation.Infinite }
QQ2.NumberAnimation on shininess { from: 0; to: 1.0; duration: 1000; loops: QQ2.Animation.Infinite }
} }
]
effect : Effect {
parameters : Parameter { name: "diffuse"; value: Qt.vector3d(material.diffuseColor.r, material.diffuseColor.g, material.diffuseColor.b)}
techniques : [
// OpenGL 3.1 Technique
Technique {
graphicsApiFilter {api : GraphicsApiFilter.OpenGL; profile : GraphicsApiFilter.CoreProfile; minorVersion : 1; majorVersion : 3 }
filterKeys: [
FilterKey { name : "RenderingStyle"; value : "forward"},
FilterKey { name : "Enabled"; value: enabled }
]
parameters : Parameter { name : "lightPos"; value : Qt.vector4d(10.0, 10.0, 0.0, 1.0)}
renderPasses : [
// COLOR PASS
RenderPass {
filterKeys: FilterKey {name: "Name"; value: "ColorMaterial"}
shaderProgram: ShaderProgram {
id: diffuseShader
vertexShaderCode: loadSource("qrc:/shaders/diffuse.vert")
fragmentShaderCode: loadSource("qrc:/shaders/diffuse.frag")
}
},
// TEXTURE PASS + UBO
RenderPass {
filterKeys : [FilterKey {name : "Name"; value : "Texture" }]
renderStates : [BlendEquationArguments {sourceRgb: BlendEquationArguments.One; destinationRgb : BlendEquationArguments.One},
BlendEquation {blendFunction: BlendEquation.Add},
CullFace { mode : CullFace.Back },
DepthTest { depthFunction : DepthTest.LessOrEqual}
]
shaderProgram : ShaderProgram {
vertexShaderCode: "
#version 140
in vec4 vertexPosition;
in vec3 vertexNormal;
in vec2 vertexTexCoord;
out vec3 worldPosition;
out vec3 normal;
out vec2 texCoord;
uniform mat4 modelViewProjection;
uniform mat4 modelView;
uniform mat3 modelViewNormal;
void main()
{
texCoord = vertexTexCoord;
worldPosition = vec3(modelView * vertexPosition);
normal = normalize(modelViewNormal * vertexNormal);
gl_Position = modelViewProjection * vertexPosition;
}
"
fragmentShaderCode: "
#version 140
in vec3 worldPosition;
in vec3 normal;
in vec2 texCoord;
out vec4 fragColor;
struct subStruct
{
float a;
float b;
float r[4];
};
struct innerStruct
{
float innerV;
vec3 innerVec3;
vec3 innerVec3Array[4];
subStruct t;
subStruct c[2];
};
uniform PointLightBlock
{
vec4 colorAmbient;
vec4 colorDiffuse;
vec4 colorSpecular;
float shininess;
vec3 position;
vec3 intensity;
innerStruct s;
innerStruct u[4];
} lightSource;
uniform sampler2D tex;
void main()
{
vec3 n = normalize(normal);
vec3 s = normalize(lightSource.position - worldPosition);
vec3 v = normalize(-worldPosition);
vec3 r = reflect(-s, n);
float diffuse = max(dot(s, n), 0.0);
float specular = step(diffuse, 0.0) * pow(max(dot(r, v), 0.0), lightSource.shininess);
vec3 sum = vec3(0.0, 0.0, 0.0);
for (int i = 0; i < 4; ++i) {
sum += lightSource.s.innerVec3Array[i];
}
float tmp = 0;
for (int i = 0; i < 4; ++i) {
tmp += lightSource.u[i].innerV;
}
if (sum == vec3(10.0, 10.0, 10.0))
fragColor = vec4(lightSource.intensity, 1.0) * (
lightSource.colorAmbient * lightSource.s.innerV +
lightSource.colorDiffuse * diffuse +
lightSource.colorSpecular * specular) * 0.2 + texture(tex, texCoord);
else
fragColor = vec4(1.0, 1.0, 1.0, 1.0);
}"
}
}
]
}
]
}
}

View File

@ -1,238 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
Technique {
filterKeys : [
FilterKey { name : "RenderingStyle"; value : "forward"},
FilterKey { name : "Enabled"; value : true}
]
graphicsApiFilter {api : GraphicsApiFilter.OpenGL; profile : GraphicsApiFilter.CoreProfile; minorVersion : 1; majorVersion : 3 }
renderPasses : [
RenderPass {
filterKeys : [FilterKey {name : "Name"; value : "TextureLighting" }]
shaderProgram : ShaderProgram {
id : textureShaderLighting
vertexShaderCode: "
#version 140
in vec4 vertexPosition;
in vec3 vertexNormal;
in vec2 texCoord0;
out vec2 texCoord;
out vec3 worldPosition;
out vec3 normal;
uniform mat4 customMvp;
uniform mat4 modelView;
uniform mat3 modelViewNormal;
void main()
{
texCoord = texCoord0;
worldPosition = vec3(modelView * vertexPosition);
normal = normalize(modelViewNormal * vertexNormal);
gl_Position = customMvp * vertexPosition;
}"
fragmentShaderCode: "
#version 140
in vec2 texCoord;
in vec3 worldPosition;
in vec3 normal;
out vec4 fragColor;
struct PointLight
{
vec3 position;
vec3 direction;
vec4 color;
float intensity;
};
const int lightCount = 3;
uniform PointLight pointLights[lightCount];
uniform sampler2D texture;
void main()
{
vec4 color;
for (int i = 0; i < lightCount; i++) {
vec3 s = normalize(pointLights[i].position - worldPosition);
color += pointLights[i].color * (pointLights[i].intensity * max(dot(s, normal), 0.0));
}
color /= float(lightCount);
fragColor = texture(texture, texCoord) * color;
}"
}
},
RenderPass {
filterKeys : [FilterKey {name : "Name"; value : "Texture" }]
shaderProgram : ShaderProgram {
vertexShaderCode : "
#version 140
in vec4 vertexPosition;
in vec2 vertexTexCoord;
out vec2 texCoord;
uniform mat4 mvp;
void main()
{
texCoord = vertexTexCoord;
gl_Position = mvp * vertexPosition;
}"
fragmentShaderCode: "
#version 140
in vec2 texCoord;
out vec4 fragColor;
uniform sampler2D tex;
void main()
{
fragColor = texture(tex, texCoord);
}
"
}
},
RenderPass {
filterKeys : [FilterKey {name : "Name"; value : "Lighting" }]
renderStates : [BlendEquationArguments {sourceRgb: BlendEquationArguments.One; destinationRgb : BlendEquationArguments.One},
BlendEquation {blendFunction: BlendEquation.Add},
CullFace { mode : CullFace.Back },
DepthTest { depthFunction : DepthTest.LessOrEqual}
]
shaderProgram : ShaderProgram {
vertexShaderCode: "
#version 140
in vec4 vertexPosition;
in vec3 vertexNormal;
out vec3 worldPosition;
out vec3 normal;
uniform mat4 modelViewProjection;
uniform mat4 modelView;
uniform mat3 modelViewNormal;
void main()
{
worldPosition = vec3(modelView * vertexPosition);
normal = normalize(modelViewNormal * vertexNormal);
gl_Position = modelViewProjection * vertexPosition;
}
"
fragmentShaderCode: "
#version 140
in vec3 worldPosition;
in vec3 normal;
out vec4 fragColor;
struct PointLight
{
vec3 position;
vec3 direction;
vec4 color;
float intensity;
};
const int lightCount = 3;
uniform PointLight pointLights[lightCount];
void main()
{
vec4 color;
for (int i = 0; i < lightCount; i++) {
vec3 s = normalize(pointLights[i].position - worldPosition);
color += pointLights[i].color * (pointLights[i].intensity * max(dot(s, normal), 0.0));
}
color /= float(lightCount);
fragColor = color;
}"
}
},
RenderPass {
filterKeys : FilterKey {name : "Name"; value : "Final" }
shaderProgram : ShaderProgram {
vertexShaderCode: "
#version 140
in vec4 vertexPosition;
in vec2 vertexTexCoord;
out vec2 texCoord;
uniform mat4 modelViewProjection;
void main()
{
texCoord = vertexTexCoord;
gl_Position = modelViewProjection * vertexPosition;
}
"
fragmentShaderCode: "
#version 140
in vec2 texCoord;
out vec4 fragColor;
uniform sampler2D gBuffer;
void main()
{
fragColor = texture(gBuffer, texCoord);
}
"
}
}
]
}

View File

@ -1,65 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
Entity {
property Entity camera: Camera {
projectionType: CameraLens.PerspectiveProjection
fieldOfView: 60
aspectRatio: 16/9
nearPlane: 0.001
farPlane: 10000.0
position: Qt.vector3d( 10.0, 10.0, -25.0 )
upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
viewCenter: Qt.vector3d( 0.0, 0.0, 10.0 )
}
}

View File

@ -1,129 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import QtQuick 2.0 as QQ2
Entity {
property Entity camera: Camera {
projectionType: CameraLens.PerspectiveProjection
fieldOfView: 45
aspectRatio: 16/9
nearPlane: 0.01
farPlane: 1000.0
position: Qt.vector3d( 10.0, 10.0, -25.0 )
upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
viewCenter: Qt.vector3d( 0.0, 0.0, 10.0 )
}
// Shareable Components
Mesh {
id: ballMesh
objectName: "ballMesh"
source: "assets/ball.obj"
}
Mesh {
id: cubeMesh
objectName: "cubeMesh"
source: "assets/cube.obj"
}
AnimatedDiffuseMaterial {
id: animatedMaterial
texture: Texture2D { TextureImage { source : "assets/gltf/wine/Wood_Cherry_Original_.jpg" } }
}
// Scene elements
Entity {
id : sceneEntity
components : SceneLoader {
id: scene
source: "qrc:/assets/test_scene.dae"
objectName: "dae_scene"
}
}
RenderableEntity {
mesh: ballMesh
material: animatedMaterial
transform: Transform {
property real z: 25
translation: Qt.vector3d( 0, -10, z )
scale: 0.3
QQ2.SequentialAnimation on z {
running: true
loops: QQ2.Animation.Infinite
QQ2.NumberAnimation { to: -1000; duration: 5000 }
QQ2.NumberAnimation { to: 1000; duration: 3000 }
}
}
}
RenderableEntity {
mesh: cubeMesh
material: animatedMaterial
transform: Transform {
property real x: 0
translation: Qt.vector3d( x, -10, 25 )
scale: 0.3
QQ2.SequentialAnimation on x {
running : true
loops: QQ2.Animation.Infinite
QQ2.NumberAnimation { to : -100; duration : 10000 }
QQ2.NumberAnimation { to : 100; duration : 5000 }
}
}
}
}

View File

@ -1,108 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
TechniqueFilter {
id: root
objectName : "techniqueFilter"
// Expose the viewport rect and camera. This allows users of this
// forward rendering framegraph to decide which camera in the
// scene renders to a given viewport region.
//
// Using this as a building block for a larger framegraph would
// allow a scene to be rendered multiple times to different
// viewports using different cameras for e.g.
property alias mainCamera: mainCameraSelector.camera
property alias detailCamera: detailCameraSelector.camera
property alias layerFilters: layerFilter.layers
property alias clearColor: clearBuffers.clearColor
matchAll : [
FilterKey { name: "RenderingStyle"; value: "forward";},
FilterKey { name: "Enabled"; value: true;}
]
ClearBuffers {
id: clearBuffers
buffers: ClearBuffers.ColorDepthBuffer
// Main Viewport
Viewport {
id: viewport
normalizedRect: Qt.rect(0.0, 0, 1.0, 1.0)
CameraSelector {
id: mainCameraSelector
LayerFilter {
id: layerFilter
RenderPassFilter {
matchAny: [ FilterKey {name : "Name"; value : "Texture"; } ] }
}
}
}
}
Viewport {
id: detailViewport
normalizedRect: Qt.rect(0.75, 0.0, 0.25, 0.25)
CameraSelector {
id: detailCameraSelector
RenderPassFilter {
matchAny: [ FilterKey { name: "Name"; value: "ColorMaterial"; } ]
}
}
}
}

View File

@ -1,64 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
Entity {
property Transform transform;
property Mesh mesh;
property Material material;
components: [
transform,
mesh,
material
]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +0,0 @@
# Blender v2.70 (sub 0) OBJ File: ''
# www.blender.org
mtllib cube.mtl
o Cube
v 1.000000 -1.000000 -1.000000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -0.999999
v 0.999999 1.000000 1.000001
v -1.000000 1.000000 1.000000
v -1.000000 1.000000 -1.000000
usemtl Material
s off
f 1 2 3 4
f 5 8 7 6
f 1 5 6 2
f 2 6 7 3
f 3 7 8 4
f 5 1 4 8

File diff suppressed because one or more lines are too long

View File

@ -1,32 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\example playground-qml
\title Qt 3D: Playground QML Example
\ingroup qt3d-examples-qml
*/

View File

@ -1,64 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <Qt3DQuickExtras/qt3dquickwindow.h>
#include <QGuiApplication>
#include <QtQml>
int main(int argc, char* argv[])
{
QGuiApplication app(argc, argv);
Qt3DExtras::Quick::Qt3DQuickWindow view;
view.setSource(QUrl("qrc:/main.qml"));
view.show();
return app.exec();
}

View File

@ -1,91 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt3D module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
import QtQuick 2.2 as QQ2
Entity {
id: root
property bool detailCamera: true
RenderSettings {
id : external_forward_renderer
activeFrameGraph: MyForwardRenderer {
mainCamera: mainView.camera
detailCamera: root.detailCamera ? detailView.camera : mainView.camera
clearColor: "black"
}
}
KeyboardDevice {id: keyboardDevice}
KeyboardHandler {
id: keyboardHandler
sourceDevice: keyboardDevice
focus: true
onTabPressed: root.detailCamera = !root.detailCamera;
}
components: [external_forward_renderer, keyboardHandler]
FirstPersonCameraController { camera: mainView.camera }
MainView {
id: mainView
}
DetailView {
id: detailView
}
}

View File

@ -1,29 +0,0 @@
!include( ../examples.pri ) {
error( "Couldn't find the examples.pri file!" )
}
QT += 3dcore 3drender 3dquick qml quick 3dinput 3dquickextras
HEADERS += \
SOURCES += \
main.cpp
OTHER_FILES += \
main.qml \
AdsEffect.qml \
SimpleEffect.qml \
elements/ViewportEntity.qml \
elements/TechniqueFilterEntity.qml \
elements/RenderPassFilterEntity.qml \
elements/CameraSelectorEntity.qml \
MyForwardRenderer.qml \
ComplexTechnique.qml \
RenderableEntity.qml \
MainView.qml \
DetailView.qml \
AnimatedDiffuseMaterial.qml
RESOURCES += \
playground-qml.qrc \
../exampleresources/gltf.qrc \

View File

@ -1,15 +0,0 @@
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>AdsEffect.qml</file>
<file>assets/ball.obj</file>
<file>assets/test_scene.dae</file>
<file>assets/cube.obj</file>
<file>ComplexTechnique.qml</file>
<file>MainView.qml</file>
<file>DetailView.qml</file>
<file>RenderableEntity.qml</file>
<file>AnimatedDiffuseMaterial.qml</file>
<file>MyForwardRenderer.qml</file>
</qresource>
</RCC>

View File

@ -1,7 +1,6 @@
TEMPLATE = subdirs
SUBDIRS += \
playground-qml \
simple-qml \
simple-cpp \
gltf \