Qt3D Renderer Submission
Jump to navigation
Jump to search
[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