You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the problem or limitation you are having in your project
Right now we have 2 rendering "drivers"
Vulkan
OpenGL
When using Vulkan you can choose between the clustered backend and the mobile backend.
Primarily, our issue is that users select between the graphics drivers and then specify the renderer type after choosing the graphics driver. In the future we would like to allow users to select between Vulkan, D3D12, Metal, and WebGPU (or switch depending on platform) but the currently structure makes that awkward. Instead of making multiple renderers per driver, we should implement drivers per rendering backend.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
I propose that we rename the backends as follows:
Vulkan - Clustered -> Clustered Forward Renderer
Vulkan - Mobile -> Forward Mobile Renderer
OpenGL -> Compatibility Renderer
Then, the drivers should be reorganized so that users select rendering backend first, and then driver second.
Depending on which backend you select, you would be able to choose between rendering "driver" which is the API used.
For example, in the Clustered Forward Renderer you would be able to choose between Vulkan, D3D12, Metal, and WebGPU (eventually) while in the Compatibility Renderer you will only be able to choose OpenGL 3.3/ES 3.0 for now (but we plan on allowing users to choose Angle in the future)
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Users will have two project settings:
Rendering Backend (Clustered Forward Renderer, Forward Mobile Renderer, Compatibility Renderer)
Driver (options change depending on choice of rendering backend)
Internally, nothing really needs to change, this is more of a naming/settings organization change
If this enhancement will not be used often, can it be worked around with a few lines of script?
It is a core organization of the rendering backends
Is there a reason why this should be core and not an add-on in the asset library?
It is core
The text was updated successfully, but these errors were encountered:
Describe the project you are working on
The Godot Engine
Describe the problem or limitation you are having in your project
Right now we have 2 rendering "drivers"
When using Vulkan you can choose between the clustered backend and the mobile backend.
Primarily, our issue is that users select between the graphics drivers and then specify the renderer type after choosing the graphics driver. In the future we would like to allow users to select between Vulkan, D3D12, Metal, and WebGPU (or switch depending on platform) but the currently structure makes that awkward. Instead of making multiple renderers per driver, we should implement drivers per rendering backend.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
I propose that we rename the backends as follows:
Then, the drivers should be reorganized so that users select rendering backend first, and then driver second.
Depending on which backend you select, you would be able to choose between rendering "driver" which is the API used.
For example, in the Clustered Forward Renderer you would be able to choose between Vulkan, D3D12, Metal, and WebGPU (eventually) while in the Compatibility Renderer you will only be able to choose OpenGL 3.3/ES 3.0 for now (but we plan on allowing users to choose Angle in the future)
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Users will have two project settings:
Internally, nothing really needs to change, this is more of a naming/settings organization change
If this enhancement will not be used often, can it be worked around with a few lines of script?
It is a core organization of the rendering backends
Is there a reason why this should be core and not an add-on in the asset library?
It is core
The text was updated successfully, but these errors were encountered: