Basic Rendering using the FrameGraph
authorPaul Lemire <paul.lemire@kdab.com>
Wed, 16 Apr 2014 14:27:46 +0000 (16:27 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 19 Apr 2014 12:55:23 +0000 (14:55 +0200)
commit9852c55a8b544c6ec9d65eb3857adfa7e4f6edcd
treeabe73531b3ed7c623cfcc369dc417c665d61a4aa
parent7a50ab34d0a12a035f1a7d35d41612cbe7fac328
Basic Rendering using the FrameGraph

Renderer is no longer a QObject. Therefore the RendererAspect can no longer
employ QMetaObject::invoke to call the setSurface method. As setSurface is now
called in the context of the RendererAspect/QAspectManager thread, the
QGraphicsContext instantiation can no longer take place in setSurface.
The QGraphicsContext instantiation is now performed in submit RenderView if it
appears that the Renderer's QGraphicsContext object is null. That ensures that
the QGraphicsContext, the QOpenGLContext and the QGraphicsHelper, which
initializes the GL functions, are now created in the RenderThread.

RenderView objects are now submitted in Renderer which initializes the scene
with the Viewport and Camera.

RenderCommands are submitted in the RenderThread and meshes are rendered using
a default Material and a default Technique.

Change-Id: Ic16833b860270bede25278d02475ff9b559fcaf2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
src/render/backend/framegraph/viewportnode.cpp
src/render/backend/qgraphicscontext.cpp
src/render/backend/qgraphicscontext.h
src/render/backend/rendercamera.cpp
src/render/backend/rendercamera.h
src/render/backend/renderer.cpp
src/render/backend/renderer.h
src/render/backend/rendereraspect.cpp
src/render/backend/renderscenebuilder.cpp
src/render/backend/renderview.cpp
src/render/backend/renderview.h