summaryrefslogtreecommitdiffstats
path: root/src/render/backend/qrenderaspect.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-01-29 15:24:45 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-02-08 15:02:21 +0000
commitc96f1fb3da9573683a85f870b137237f1c329431 (patch)
tree46c4accab60a0c2ba54fcac799a7fcdd8c2cea56 /src/render/backend/qrenderaspect.cpp
parent370ab12074335cc63c764746886eb3b24b1df725 (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.cpp2
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())));