diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-01-29 15:24:45 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-02-08 15:02:21 +0000 |
commit | c96f1fb3da9573683a85f870b137237f1c329431 (patch) | |
tree | 46c4accab60a0c2ba54fcac799a7fcdd8c2cea56 /src/render/backend/qrenderaspect.cpp | |
parent | 370ab12074335cc63c764746886eb3b24b1df725 (diff) |
RenderTexture: update list of texture image id to texture image handles
That required a custom backend functor creator. QRenderAspect was updated to
use the correct functor.
This will provide faster lookups. Also introduced TextureDNA.
The goal is to build a unique key based on the texture properties and each
texture image (including layer position, mipmaplevel and cubemapface).
Then when applying a texture it will just be a matter of comparing hashes.
Change-Id: Ic07aea6bc1cbcb1059ec5bcdd458ccc51e1feda9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/qrenderaspect.cpp')
-rw-r--r-- | src/render/backend/qrenderaspect.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/render/backend/qrenderaspect.cpp b/src/render/backend/qrenderaspect.cpp index f33070072..7e1ce5e53 100644 --- a/src/render/backend/qrenderaspect.cpp +++ b/src/render/backend/qrenderaspect.cpp @@ -191,7 +191,7 @@ void QRenderAspect::registerBackendTypes() registerBackendType<QTransform>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderTransform, Render::TransformManager>(d->m_renderer->transformManager()))); registerBackendType<QMaterial>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderMaterial, Render::MaterialManager>(d->m_renderer->materialManager()))); registerBackendType<QTechnique>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderTechnique, Render::TechniqueManager>(d->m_renderer->techniqueManager()))); - registerBackendType<QAbstractTextureProvider>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderTexture, Render::TextureManager>(d->m_renderer->textureManager()))); + registerBackendType<QAbstractTextureProvider>(QBackendNodeFunctorPtr(new Render::RenderTextureFunctor(d->m_renderer->textureManager(), d->m_renderer->textureImageManager()))); registerBackendType<QShaderProgram>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderShader, Render::ShaderManager>(d->m_renderer->shaderManager()))); registerBackendType<QEffect>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderEffect, Render::EffectManager>(d->m_renderer->effectManager()))); registerBackendType<QAnnotation>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderAnnotation, Render::CriterionManager>(d->m_renderer->criterionManager()))); |