Qt3D Renderer Submission

From Qt Wiki
Revision as of 10:34, 25 February 2015 by Maintenance script (talk | contribs)
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