Difference between revisions of "Vulkan Renderer Development"

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Jump to: navigation, search
Line 2: Line 2:
 
* Provide relevant links to Vulkan documentation, Vulkan tutorials, Vulkan code snippets that we will use during development
 
* Provide relevant links to Vulkan documentation, Vulkan tutorials, Vulkan code snippets that we will use during development
 
* Make a list of specific points we need to take into account when developing the Vulkan renderer for CEGUI:
 
* Make a list of specific points we need to take into account when developing the Vulkan renderer for CEGUI:
** What are the caveats? What should we keep in mind
+
** What are the problems/restrictions we need to consider? What should we keep in mind?
 
** How can we maximize Vulkan performance?
 
** How can we maximize Vulkan performance?
 
** What are the restrictions? How could we get around them?
 
** What are the restrictions? How could we get around them?
 
* Keep track of the state of the development
 
* Keep track of the state of the development
 +
 +
== Vulkan link collection ==
 +
 +
 +
== CEGUI Vulkan Renderer : Thoughts ==
 +
 +
=== General considerations ===
 +
 +
* CEGUI does not support any kind of internal threading.
 +
* If we have separate command buffers for CEGUI and the rest of what the user's application uses, we can ensure that the states won't interfere with those of the regular rendering. (See enableExtraAttribs for more info..). This is a great advantage over OpenGL.
 +
 +
=== Maximising the CEGUI Vulkan Renderer performance ===
 +
* Separate threads for logic and rendering processing would be optimal for CEGUI default branch.
 +
* As always, we need to keep batching low.
 +
 +
== ToDo ==
 +
 +
== State of development ==

Revision as of 07:27, 19 June 2016

Purpose of this document

  • Provide relevant links to Vulkan documentation, Vulkan tutorials, Vulkan code snippets that we will use during development
  • Make a list of specific points we need to take into account when developing the Vulkan renderer for CEGUI:
    • What are the problems/restrictions we need to consider? What should we keep in mind?
    • How can we maximize Vulkan performance?
    • What are the restrictions? How could we get around them?
  • Keep track of the state of the development

Vulkan link collection

CEGUI Vulkan Renderer : Thoughts

General considerations

  • CEGUI does not support any kind of internal threading.
  • If we have separate command buffers for CEGUI and the rest of what the user's application uses, we can ensure that the states won't interfere with those of the regular rendering. (See enableExtraAttribs for more info..). This is a great advantage over OpenGL.

Maximising the CEGUI Vulkan Renderer performance

  • Separate threads for logic and rendering processing would be optimal for CEGUI default branch.
  • As always, we need to keep batching low.

ToDo

State of development