mirror of https://github.com/qt/qt3d.git
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:
parent
d8d17e922c
commit
65b4537af9
|
|
@ -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 ) }
|
||||
// ]
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
"
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
|
@ -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 )
|
||||
}
|
||||
}
|
||||
|
|
@ -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 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"; } ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
*/
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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 \
|
||||
|
|
@ -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>
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
TEMPLATE = subdirs
|
||||
|
||||
SUBDIRS += \
|
||||
playground-qml \
|
||||
simple-qml \
|
||||
simple-cpp \
|
||||
gltf \
|
||||
|
|
|
|||
Loading…
Reference in New Issue