summaryrefslogtreecommitdiffstats
path: root/src/render/backend/qrenderaspect.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-03-13 16:12:22 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-04-25 08:05:11 +0000
commit8c692dd5d17b7dd7877dec021440549dbf4d1a43 (patch)
tree561a28dcf10738b559dda9c92b014869c6aa7f5b /src/render/backend/qrenderaspect.cpp
parentaa4442aa7138583c7d194796736038b3d62c56f1 (diff)
Renderer: apply per RenderView global RenderState
Each RenderView now has a RenderStateSet. If the FrameGraph tree contains a StateSet node, the RenderStateSet will be created and filled correctly in the RenderView. Otherwise the RenderView's RenderStateSet will remain null. When comes render time, foreach RenderView, if the RenderStateSet is not null, it will be applied before processing the rest of the RenderView. Change-Id: Id0aecce1f77950665e17ff759336d7fc29a0afcf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend/qrenderaspect.cpp')
-rw-r--r--src/render/backend/qrenderaspect.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/backend/qrenderaspect.cpp b/src/render/backend/qrenderaspect.cpp
index a6f9b85bb..695581ec5 100644
--- a/src/render/backend/qrenderaspect.cpp
+++ b/src/render/backend/qrenderaspect.cpp
@@ -61,6 +61,7 @@
#include <Qt3DRenderer/qtexture.h>
#include <Qt3DRenderer/qeffect.h>
#include <Qt3DRenderer/qshaderdata.h>
+#include <Qt3DRenderer/qstateset.h>
#include <Qt3DCore/qcameralens.h>
#include <Qt3DRenderer/private/cameraselectornode_p.h>
@@ -89,6 +90,7 @@
#include <Qt3DRenderer/private/updateworldtransformjob_p.h>
#include <Qt3DRenderer/private/framecleanupjob_p.h>
#include <Qt3DRenderer/private/rendertextureimage_p.h>
+#include <Qt3DRenderer/private/statesetnode_p.h>
#include <Qt3DCore/qentity.h>
#include <Qt3DCore/qtransform.h>
#include <Qt3DCore/qnodevisitor.h>
@@ -218,6 +220,7 @@ void QRenderAspect::registerBackendTypes()
registerBackendType<QParameter>(QBackendNodeFunctorPtr(new Render::RenderNodeFunctor<Render::RenderParameter, Render::ParameterManager>(d->m_renderer->parameterManager())));
registerBackendType<QShaderData>(QBackendNodeFunctorPtr(new Render::RenderShaderDataFunctor(d->m_renderer->shaderDataManager())));
registerBackendType<QAbstractTextureImage>(QBackendNodeFunctorPtr(new Render::RenderTextureImageFunctor(d->m_renderer->textureManager(), d->m_renderer->textureImageManager(), d->m_renderer->textureDataManager())));
+ registerBackendType<QStateSet>(QBackendNodeFunctorPtr(new Render::FrameGraphNodeFunctor<Render::StateSetNode, QStateSet>(d->m_renderer->frameGraphManager())));
}
void QRenderAspect::renderInitialize(QOpenGLContext *context)