Revision control

Copy as Markdown

// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick3D
import QtQuick
Rectangle {
width: 400
height: 400
color: Qt.rgba(0, 0, 0, 1)
View3D {
id: v3d
anchors.fill: parent
environment: SceneEnvironment {
clearColor: "#444845"
backgroundMode: SceneEnvironment.Color
}
camera: PerspectiveCamera {
id: camera
position: Qt.vector3d(0, 0, 600)
}
DirectionalLight {
position: Qt.vector3d(-500, 500, -100)
color: Qt.rgba(0.2, 0.2, 0.2, 1.0)
ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0)
}
PointLight {
position: Qt.vector3d(0, 500, 0)
color: Qt.rgba(0.1, 1.0, 0.1, 1.0)
ambientColor: Qt.rgba(0.2, 0.2, 0.2, 1.0)
brightness: 5
castsShadow: true
shadowMapQuality: Light.ShadowMapQualityHigh
}
// the ground will be not green but rather green-cyan-ish
Model {
source: "#Rectangle"
y: -200
scale: Qt.vector3d(5, 5, 5)
eulerRotation.x: -90
materials: [
CustomMaterial {
vertexShader: "customshaded_builtins.vert"
fragmentShader: "customshaded_builtins.frag"
property real uTime: 0.0
property real uAmplitude: 0.0
property real uSel: 2.0
}
]
}
// approx. yellow at top left, purple at bottom left, red/purple at top right, cyan at bottom right
Model {
position: Qt.vector3d(-50, 0, -50)
eulerRotation.x: 30.0
eulerRotation.y: 100.0
scale: Qt.vector3d(1.5, 1.5, 1.5)
source: "#Cylinder"
materials: [
CustomMaterial {
vertexShader: "customshaded_builtins.vert"
fragmentShader: "customshaded_builtins.frag"
property real uTime: 1.0
property real uAmplitude: 50.0
property real uSel: 1.0
}
]
}
// the result is a blue cylinder
Model {
position: Qt.vector3d(50, 200, -50)
eulerRotation.x: 30.0
eulerRotation.y: 100.0
scale: Qt.vector3d(1.5, 1.5, 1.5)
source: "#Cylinder"
materials: [
CustomMaterial {
vertexShader: "customshaded_builtins.vert"
fragmentShader: "customshaded_builtins.frag"
property real uTime: 1.0
property real uAmplitude: 50.0
property real uSel: 0.0
}
]
}
// same here
Model {
position: Qt.vector3d(200, 0, -50)
eulerRotation.x: 30.0
eulerRotation.y: 100.0
scale: Qt.vector3d(1.5, 1.5, 1.5)
source: "#Cylinder"
materials: [
CustomMaterial {
vertexShader: "customshaded_builtins.vert"
fragmentShader: "customshaded_builtins.frag"
property real uTime: 1.0
property real uAmplitude: 50.0
property real uSel: -1.0
}
]
}
}
}