summaryrefslogtreecommitdiffstats
path: root/tests/manual
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2020-07-16 13:35:15 +0100
committerMike Krus <mike.krus@kdab.com>2020-07-30 12:02:39 +0100
commiteb728b5501f0ffb61ca4916ff5975c496ab98970 (patch)
tree3c2652354b99e057460455ba94e478410c19b4df /tests/manual
parent3411f202fdfd6e3c69421ae143013920a65704ee (diff)
Add support for synchronous picking
World space and screen space raycasters gain method to do a pick query synchronously, returning the list of hits. Change-Id: I41cc3940b8d97c3619456d76127841907a9170cb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests/manual')
-rw-r--r--tests/manual/raycasting-qml/CMakeLists.txt18
-rw-r--r--tests/manual/raycasting-qml/LineEntity.qml1
-rw-r--r--tests/manual/raycasting-qml/main.qml4
3 files changed, 21 insertions, 2 deletions
diff --git a/tests/manual/raycasting-qml/CMakeLists.txt b/tests/manual/raycasting-qml/CMakeLists.txt
index 7b1549f3f..24be78aae 100644
--- a/tests/manual/raycasting-qml/CMakeLists.txt
+++ b/tests/manual/raycasting-qml/CMakeLists.txt
@@ -21,7 +21,16 @@ qt_add_manual_test(raycasting-qml
# Resources:
set(raycasting-qml_resource_files
- "main.qml"
+ main.qml
+ CylinderEntity.qml
+ LineEntity.qml
+ LineMaterial.qml
+)
+set(raycasting-shader_resource_files
+ shaders/es2/simpleColor.frag
+ shaders/es2/simpleColor.vert
+ shaders/gl3/simpleColor.frag
+ shaders/gl3/simpleColor.vert
)
qt_add_resource(raycasting-qml "raycasting-qml"
@@ -31,6 +40,13 @@ qt_add_resource(raycasting-qml "raycasting-qml"
${raycasting-qml_resource_files}
)
+qt_add_resource(raycasting-qml "shaders"
+ PREFIX
+ "/"
+ FILES
+ ${raycasting-shader_resource_files}
+)
+target_sources(raycasting-qml PRIVATE ${raycasting-qml_resource_files} ${raycasting-shader_resource_files})
#### Keys ignored in scope 1:.:.:raycasting-qml.pro:<TRUE>:
# OTHER_FILES = "main.qml"
diff --git a/tests/manual/raycasting-qml/LineEntity.qml b/tests/manual/raycasting-qml/LineEntity.qml
index 6071881f3..62cf911d1 100644
--- a/tests/manual/raycasting-qml/LineEntity.qml
+++ b/tests/manual/raycasting-qml/LineEntity.qml
@@ -83,7 +83,6 @@ Entity {
Buffer {
id: vertexBuffer
- type: Buffer.VertexBuffer
data: buildVertexBufferData(root.origin, root.direction, root.length)
}
diff --git a/tests/manual/raycasting-qml/main.qml b/tests/manual/raycasting-qml/main.qml
index c6cc8445f..33aa96752 100644
--- a/tests/manual/raycasting-qml/main.qml
+++ b/tests/manual/raycasting-qml/main.qml
@@ -121,6 +121,10 @@ Entity {
if (event.text.toLowerCase() == "s") { raycaster.origin.y += .1; raycaster.trigger() }
if (event.text.toLowerCase() == "d") { raycaster.origin.y -= .1; raycaster.trigger() }
}
+ onSpacePressed: {
+ var syncHits = raycaster.pick(raycaster.origin, raycaster.direction, raycaster.length)
+ printHits("Synchronous hits", syncHits)
+ }
}
components: [ external_forward_renderer, inputSettings, headLight, raycaster, screenRayCaster, mouseHandler, kbHandler ]