summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/scene3d
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-01-16 16:48:21 +0000
committerMike Krus <mike.krus@kdab.com>2020-01-20 13:04:19 +0000
commit4ae7cc93b503cc31272f0b55c84410af30aea8b9 (patch)
tree3eeba8a9295be900daf0ddd60bf079082379fc86 /examples/qt3d/scene3d
parent34165446cd03a659eaea83d25dfdb91a22c0e2c5 (diff)
Add QRenderCapabilities to query GL about what is supported
Change-Id: I7981e7e4b514e5d15d66c82351f1ab2fe160d20d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'examples/qt3d/scene3d')
-rw-r--r--examples/qt3d/scene3d/AnimatedEntity.qml4
-rw-r--r--examples/qt3d/scene3d/main.cpp2
-rw-r--r--examples/qt3d/scene3d/main.qml50
3 files changed, 53 insertions, 3 deletions
diff --git a/examples/qt3d/scene3d/AnimatedEntity.qml b/examples/qt3d/scene3d/AnimatedEntity.qml
index 2cfeeb73a..77cc15aa3 100644
--- a/examples/qt3d/scene3d/AnimatedEntity.qml
+++ b/examples/qt3d/scene3d/AnimatedEntity.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import Qt3D.Core 2.0
-import Qt3D.Render 2.0
+import Qt3D.Render 2.15
import Qt3D.Input 2.0
import Qt3D.Extras 2.15
@@ -58,6 +58,7 @@ import QtQuick 2.0 as QQ2
Entity {
id: sceneRoot
+ property RenderCapabilities capabilities : renderSettings.renderCapabilities
Camera {
id: camera
@@ -74,6 +75,7 @@ Entity {
components: [
RenderSettings {
+ id: renderSettings
activeFrameGraph: ForwardRenderer {
camera: camera
clearColor: "transparent"
diff --git a/examples/qt3d/scene3d/main.cpp b/examples/qt3d/scene3d/main.cpp
index 8d8bc581e..2a988a271 100644
--- a/examples/qt3d/scene3d/main.cpp
+++ b/examples/qt3d/scene3d/main.cpp
@@ -71,7 +71,7 @@ int main(int argc, char **argv)
QQuickView view;
- view.resize(500, 500);
+ view.resize(1024, 768);
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.setSource(QUrl("qrc:/main.qml"));
view.show();
diff --git a/examples/qt3d/scene3d/main.qml b/examples/qt3d/scene3d/main.qml
index f50528a13..6d5617ca3 100644
--- a/examples/qt3d/scene3d/main.qml
+++ b/examples/qt3d/scene3d/main.qml
@@ -50,6 +50,7 @@
import QtQuick 2.0
import QtQuick.Scene3D 2.0
+import Qt3D.Render 2.15
Item {
Text {
@@ -99,7 +100,54 @@ Item {
aspects: ["input", "logic"]
cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
- AnimatedEntity {}
+ AnimatedEntity {
+ id: rootEntity
+ }
+ }
+ }
+
+ Rectangle {
+ radius: 10
+ color: "#aaffffff"
+ border.width: 1
+ border.color: "black"
+ width: childrenRect.width + anchors.margins
+ height: childrenRect.height + anchors.margins
+ anchors.bottom: parent.bottom
+ anchors.right: parent.right
+ anchors.margins: 20
+
+ Column {
+ x: parent.anchors.margins / 2
+ y: x
+
+ Text { text: "Vendor: " + rootEntity.capabilities.vendor }
+ Text { text: "Renderer: " + rootEntity.capabilities.renderer }
+ Text { text: "Driver Version: " + rootEntity.capabilities.driverVersion }
+ Text { text: "GL Version: " + rootEntity.capabilities.majorVersion + "." + rootEntity.capabilities.minorVersion }
+ Text { text: "Profile: " + (rootEntity.capabilities.profile === RenderCapabilities.CoreProfile ? "Core" : (rootEntity.capabilities.profile === RenderCapabilities.CompatibilityProfile ? "Compatibility" : "Unknown")) }
+ Text { text: "GLSL Version: " + rootEntity.capabilities.glslVersion }
+ Text { text: "Extensions: " + (rootEntity.capabilities.extensions.length ? "" : "None") }
+ ListView {
+ model: rootEntity.capabilities.extensions
+ delegate: Text { text: " " + model.modelData }
+ width: parent.width
+ height: 100
+ visible: rootEntity.capabilities.extensions.length > 0
+ clip: true
+ }
+ Text { text: "Max Texture Size: " + rootEntity.capabilities.maxTextureSize + "\nMax Texture Units: " + rootEntity.capabilities.maxTextureUnits + "\nMax Texture Layers: " + rootEntity.capabilities.maxTextureLayers }
+ Text { text: "Supports UBO: " + rootEntity.capabilities.supportsUBO }
+ Text { text: " Max UBO Size: " + rootEntity.capabilities.maxUBOSize + "\n Max UBO Bindings: " + rootEntity.capabilities.maxUBOBindings; visible: rootEntity.capabilities.supportsUBO }
+ Text { text: "Supports SSBO: " + rootEntity.capabilities.supportsSSBO }
+ Text { text: " Max SSBO Size: " + rootEntity.capabilities.maxSSBOSize + "\n Max SSBO Bindings: " + rootEntity.capabilities.maxSSBOBindings; visible: rootEntity.capabilities.supportsSSBO }
+ Text { text: "Supports Image Store: " + rootEntity.capabilities.supportsImageStore }
+ Text { text: " Max Image Units: " + rootEntity.capabilities.maxImageUnits; visible: rootEntity.capabilities.supportsImageStore }
+ Text { text: "Supports Compute Shaders: " + rootEntity.capabilities.supportsCompute }
+ Text { text: " Max Work Group Size: " + rootEntity.capabilities.maxWorkGroupSizeX + ", " + rootEntity.capabilities.maxWorkGroupSizeY + ", " + rootEntity.capabilities.maxWorkGroupSizeZ; visible: rootEntity.capabilities.supportsCompute }
+ Text { text: " Max Work Group Count: " + rootEntity.capabilities.maxWorkGroupCountX + ", " + rootEntity.capabilities.maxWorkGroupCountY + ", " + rootEntity.capabilities.maxWorkGroupCountZ; visible: rootEntity.capabilities.supportsCompute }
+ Text { text: " Max Invocations: " + rootEntity.capabilities.maxComputeInvocations; visible: rootEntity.capabilities.supportsCompute }
+ Text { text: " Max Shared Memory: " + rootEntity.capabilities.maxComputeSharedMemorySize; visible: rootEntity.capabilities.supportsCompute }
}
}