There are no Lancelot tests for custom geometry and custom textures. Something should be added to prevent regressions.
As these features need C++ code, with classes exposed to QML, there are two possible approaches:
- put the test classes into the scenegrabber
- have one or more QML plugins
The latter (QML plugin) is preferable because that allows the test cases to be runnable with qmlscene, whereas if the supporting C++ code is in the scenegrabber application, it will not be possible to run and easily inspect the test cases locally, which will be an impediment for our own development.
There is a potential pitfall with the plugin import path: one has to make sure the plugins are found by the scenegrabber at run time. (plus there needs to be a sane way to achieve the same when opening the .qml files with qmlscene locally)
Things to be tested at minimum:
- custom geometry with Triangles topology, non-indexed
- custom geometry with Triangles topology, with index data
- custom geometry with Points topology
- custom geometry with Points topology, using a point size other than 1 on the material (beware this is only supported with some graphics APIs; Vulkan recommended for testing when developing such a test)
- custom geometry where the data changes, to ensure the rendering picks up the changes
- custom texture with RGBA8 data
- custom texture with something HDR (in combination with skybox?)
| For Gerrit Dashboard: QTBUG-86343 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 312229,4 | Add Lancelot tests for Custom Geometry API | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
| 312246,4 | Add Lancelot tests for Custom Texture API | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |