Qt3D Renderer Submission: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= | [[Category:Developing_with_Qt::Qt3D]]<br />[toc align_right="yes&quot; depth="3&quot;] | ||
= | = Qt3D Renderer Submission = | ||
The actual OpenGL Rendering takes place in the RenderThread context.<br /> The thread is woken up when a RenderQueue is completed. | == OpenGL Rendering == | ||
The actual OpenGL Rendering takes place in the RenderThread context.<br />The thread is woken up when a RenderQueue is completed. | |||
The rendering goes as follow : | The rendering goes as follow : | ||
Line 12: | Line 14: | ||
** Clear the scene | ** Clear the scene | ||
** For each RenderCommand in the RenderView | ** For each RenderCommand in the RenderView | ||
*** Create and bind the | *** Create and bind the RenderCommand's VAO if it doesn't already exists for a given MeshData | ||
*** Bind the OpenGLProgram to use for the given Material/RenderPass/Technique | *** Bind the OpenGLProgram to use for the given Material/RenderPass/Technique | ||
*** Set the attributes | *** Set the attributes | ||
*** Release the | *** Release the VAO | ||
*** Set the DrawState to be used for the current Material/RenderPass/Technique | *** Set the DrawState to be used for the current Material/RenderPass/Technique | ||
*** Set the Mesh matrix | *** Set the Mesh matrix | ||
*** Set the Mesh Material | *** Set the Mesh Material | ||
*** Set the uniforms for the given Material | *** Set the uniforms for the given Material | ||
*** Bind the | *** Bind the VAO | ||
*** OpenGL draw call | *** OpenGL draw call | ||
*** Release and Destroy | *** Release and Destroy VAO | ||
Revision as of 10:14, 24 February 2015
[toc align_right="yes" depth="3"]
Qt3D Renderer Submission
OpenGL Rendering
The actual OpenGL Rendering takes place in the RenderThread context.
The thread is woken up when a RenderQueue is completed.
The rendering goes as follow :
- For each RenderView in the Frame queue
- Set the Viewport
- Set the Camera
- Clear the scene
- For each RenderCommand in the RenderView
- Create and bind the RenderCommand's VAO if it doesn't already exists for a given MeshData
- Bind the OpenGLProgram to use for the given Material/RenderPass/Technique
- Set the attributes
- Release the VAO
- Set the DrawState to be used for the current Material/RenderPass/Technique
- Set the Mesh matrix
- Set the Mesh Material
- Set the uniforms for the given Material
- Bind the VAO
- OpenGL draw call
- Release and Destroy VAO