diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-02-19 13:34:13 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-03-04 14:52:38 +0000 |
commit | 0a8742532fb1697203dd3d7d9c1c28b4cb052e2d (patch) | |
tree | e417fec5065df3d7e8d66f237ba56fb39435185d /tests/auto/render/commons | |
parent | 299c0bc6d2ea5817ba32b3724290c349789be11b (diff) |
Rework internal Texture Handling
- Remove internal GLTexture sharing
- Remove dataFunctor data sharing
- Simplify the overall texture process:
1) Look for dirty textures
(either a property on QTexture or a referenced QTextureImage
has changed)
2) Update GL Resources
- Create a GLTexture for a given Texture if it doesn't exist
- Update GLTexture to reflect Texture state
- Perform actual GL texture creation and or upload
(call functors at this point)
- Cleanup GLTextures when matching Texture node has been
destroyed
This will provide an easier maintenance over time as it drastically
simplifies the handling of textures and removes most of the coupling.
Furthermore this will make it possible to send texture updates on
a QTexture node to update texture content without having to declare
QTextureImages which would not have been (or would have been a lot
harder) to do. In practice, I doubt most people were even aware of
the internal texture sharing in the first place.
[ChangeLog][Qt3DRender] Textures: internal data sharing removed
Change-Id: I02867c8105e29eb1e193884e3899062f795f32f4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/render/commons')
-rw-r--r-- | tests/auto/render/commons/testrenderer.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h index f19b3211b..124e30492 100644 --- a/tests/auto/render/commons/testrenderer.h +++ b/tests/auto/render/commons/testrenderer.h @@ -61,7 +61,7 @@ public: QVector<Qt3DCore::QAspectJobPtr> renderBinJobs() override { return QVector<Qt3DCore::QAspectJobPtr>(); } Qt3DCore::QAspectJobPtr pickBoundingVolumeJob() override { return Qt3DCore::QAspectJobPtr(); } Qt3DCore::QAspectJobPtr rayCastingJob() override { return Qt3DCore::QAspectJobPtr(); } - Qt3DCore::QAspectJobPtr syncTextureLoadingJob() override { return Qt3DCore::QAspectJobPtr(); } + Qt3DCore::QAspectJobPtr syncLoadingJobs() override { return Qt3DCore::QAspectJobPtr(); } Qt3DCore::QAspectJobPtr expandBoundingVolumeJob() override { return Qt3DCore::QAspectJobPtr(); } void setSceneRoot(Qt3DCore::QBackendNodeFactory *factory, Qt3DRender::Render::Entity *root) override { Q_UNUSED(factory); Q_UNUSED(root); } Qt3DRender::Render::Entity *sceneRoot() const override { return nullptr; } |