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]] | [[Category:Developing_with_Qt::Qt3D]] | ||
[toc align_right="yes" depth="3"] | |||
= Qt3D Renderer Submission = | = Qt3D Renderer Submission = | ||
Line 5: | Line 6: | ||
== OpenGL Rendering == | == OpenGL Rendering == | ||
The actual OpenGL Rendering takes place in the RenderThread context. | 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 : | The rendering goes as follow : |
Revision as of 10:34, 25 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