diff options
author | Robert Brock <robert.brock@kdab.com> | 2016-05-06 10:47:51 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-15 13:44:24 +0000 |
commit | 2bcf2fb62b90b08bf9e0b531a125a7d44ed3ad13 (patch) | |
tree | 942a3d88a0519a68a2499e79e6ce23d872c99881 /examples/qt3d/bigscene-instanced-qml | |
parent | ca1492cb1fa22e0e6f95b88ba68f5b3b80969c33 (diff) |
Moved bigscene-instanced-qml example to manual test
Part of an examples cleanup
Change-Id: If90e4d1aa004f62b9ef62937b8c8ac0b871a6cd1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples/qt3d/bigscene-instanced-qml')
6 files changed, 0 insertions, 319 deletions
diff --git a/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.pro b/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.pro deleted file mode 100644 index 166b79e73..000000000 --- a/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.pro +++ /dev/null @@ -1,12 +0,0 @@ -!include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) -} - -QT += qml quick 3dcore 3drender 3dinput 3dquick 3dextras 3dquickextras - -SOURCES += \ - main.cpp - - -RESOURCES += \ - bigscene-instanced-qml.qrc diff --git a/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.qrc b/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.qrc deleted file mode 100644 index 3e4910f7a..000000000 --- a/examples/qt3d/bigscene-instanced-qml/bigscene-instanced-qml.qrc +++ /dev/null @@ -1,7 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>main.qml</file> - <file>instanced.frag</file> - <file>instanced.vert</file> - </qresource> -</RCC> diff --git a/examples/qt3d/bigscene-instanced-qml/instanced.frag b/examples/qt3d/bigscene-instanced-qml/instanced.frag deleted file mode 100644 index 0efd52b32..000000000 --- a/examples/qt3d/bigscene-instanced-qml/instanced.frag +++ /dev/null @@ -1,43 +0,0 @@ -#version 150 core - -uniform vec4 lightPosition = vec4(1.0, 1.0, 0.0, 1.0); -uniform vec3 lightIntensity = vec3(1.0, 1.0, 1.0); - -uniform vec3 ka; // Ambient reflectivity -uniform vec3 ks = vec3(1.0, 1.0, 1.0); // Specular reflectivity -uniform float shininess = 150.0; // Specular shininess factor - -in vec3 kd; // Diffuse reflectivity -in vec3 position; -in vec3 normal; - -out vec4 fragColor; - -vec3 adsModel( const in vec3 pos, const in vec3 n ) -{ - // Calculate the vector from the light to the fragment - vec3 s = normalize( vec3( lightPosition ) - pos ); - - // Calculate the vector from the fragment to the eye position - // (origin since this is in "eye" or "camera" space) - vec3 v = normalize( -pos ); - - // Reflect the light beam using the normal at this fragment - vec3 r = reflect( -s, n ); - - // Calculate the diffuse component - float diffuse = max( dot( s, n ), 0.0 ); - - // Calculate the specular component - float specular = 0.0; - if ( dot( s, n ) > 0.0 ) - specular = pow( max( dot( r, v ), 0.0 ), shininess ); - - // Combine the ambient, diffuse and specular contributions - return lightIntensity * ( ka + kd * diffuse + ks * specular ); -} - -void main() -{ - fragColor = vec4( adsModel( position, normalize( normal ) ), 1.0 ); -} diff --git a/examples/qt3d/bigscene-instanced-qml/instanced.vert b/examples/qt3d/bigscene-instanced-qml/instanced.vert deleted file mode 100644 index f713957e3..000000000 --- a/examples/qt3d/bigscene-instanced-qml/instanced.vert +++ /dev/null @@ -1,66 +0,0 @@ -#version 150 core - -#define M_PI 3.14159 - -in vec3 vertexPosition; -in vec3 vertexNormal; - -out vec3 position; -out vec3 normal; -out vec3 kd; - -uniform mat4 viewMatrix; -uniform mat4 projectionMatrix; -uniform mat3 modelViewNormal; -uniform int instanceCount; - -uniform float time; - -const vec3 ZAXIS = vec3(0.0, 0.0, 1.0); -const vec3 XAXIS = vec3(1.0, 0.0, 0.0); -const float radius = 30.0; -float det = 1.0 / float(instanceCount); - -mat4 rotationMatrix(vec3 axis, float angle) -{ - axis = normalize(axis); - float s = sin(angle); - float c = cos(angle); - float oc = 1.0 - c; - - return mat4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, - oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, - oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, - 0.0, 0.0, 0.0, 1.0); -} - - -mat4 translationMatrix(vec3 translation) -{ - return mat4(1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 0.0, - translation.x, translation.y, translation.z, 0); - -} - -void main() -{ - float angle = M_PI * 2.0f * gl_InstanceID * det * 10.0 * time * 0.05; - vec3 translation = vec3(radius * cos(angle), 200.0 * gl_InstanceID * det, radius * sin(angle)); - - mat4 modelMatrix = translationMatrix(translation) * - rotationMatrix(ZAXIS, radians(angle * 45.0)) * - rotationMatrix(XAXIS, radians(angle * 30.0)); - - vec4 eyePosition = viewMatrix * - modelMatrix * - vec4(vertexPosition, 1.0); - - position = eyePosition.xyz; - kd = vec3(abs(cos(angle)), 0.75, 25); - normal = normalize(mat3(modelMatrix) * modelViewNormal * - vertexNormal); - - gl_Position = projectionMatrix * vec4(position, 1.0); -} diff --git a/examples/qt3d/bigscene-instanced-qml/main.cpp b/examples/qt3d/bigscene-instanced-qml/main.cpp deleted file mode 100644 index 70a8ec467..000000000 --- a/examples/qt3d/bigscene-instanced-qml/main.cpp +++ /dev/null @@ -1,63 +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> - -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(); -} diff --git a/examples/qt3d/bigscene-instanced-qml/main.qml b/examples/qt3d/bigscene-instanced-qml/main.qml deleted file mode 100644 index ea804963a..000000000 --- a/examples/qt3d/bigscene-instanced-qml/main.qml +++ /dev/null @@ -1,128 +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 -import Qt3D.Input 2.0 -import Qt3D.Extras 2.0 - -Entity { - id: sceneRoot - - Camera { - id: camera - projectionType: CameraLens.PerspectiveProjection - fieldOfView: 45 - aspectRatio: 16/9 - nearPlane : 0.1 - farPlane : 1000.0 - position: Qt.vector3d(0.0, -300.0, 50.0) - upVector: Qt.vector3d(0.0, 1.0, 0.0) - viewCenter: Qt.vector3d(0.0, 0.0, 0.0) - } - - FirstPersonCameraController { camera: camera } - - components: [ - RenderSettings { - activeFrameGraph: ForwardRenderer { - clearColor: Qt.rgba(0, 0.5, 1, 1) - camera: camera - } - // we need to explicitly set the RenderPolicy to AlwaysRender here, - // because a vertex shader will use time-based rendering, so the - // scene will change every frame without the scene-graph changing. - // RenderOnDemand would therefore not render every frame, as it won't - // detect scene-graph changes - renderPolicy: RenderSettings.Always - }, - // Event Source will be set by the Qt3DQuickWindow - InputSettings { } - ] - - property real timeValue: 5 - - Material { - id: instancedPhongMaterial - effect: Effect { - techniques: Technique { - graphicsApiFilter { - api: GraphicsApiFilter.OpenGL - profile: GraphicsApiFilter.CoreProfile - minorVersion: 2 - majorVersion: 3 - } - filterKeys: [ FilterKey { name: "renderingStyle"; value: "forward" } ] - renderPasses: RenderPass { - shaderProgram: ShaderProgram { - vertexShaderCode: loadSource("qrc:/instanced.vert") - fragmentShaderCode: loadSource("qrc:/instanced.frag") - } - } - } - } - parameters: Parameter { name: "instanceCount"; value: cylinderMeshInstanced.instanceCount } - } - - CylinderMesh { - id: cylinderMeshInstanced - instanceCount: 2000 - rings: 50 - slices: 30 - radius: 2.5 - length: 5.0 - } - - Entity { - id: torusEntity - components: [ cylinderMeshInstanced, instancedPhongMaterial ] - } -} |