summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/scene3d/main.qml
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/main.qml
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/main.qml')
-rw-r--r--examples/qt3d/scene3d/main.qml50
1 files changed, 49 insertions, 1 deletions
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 }
}
}