synodic / Soul-Engine

Physically based renderer and simulation engine for real-time applications.
GNU General Public License v3.0
42 stars 24 forks source link

Render Graph v1.0 #299

Open Behemyth opened 5 years ago

Behemyth commented 5 years ago

Hard coded state inside the Vulkan Raster module should be removed with this feature.

The way to interact with the raster module for rendering should not be directly through the raster module. The module will provide the basic primitives, but a render graph will organize those primitives and expose them to a user in a way that is efficient and modifiable. That is not to say that the raster module will never directly be used in the engine outside of the render graph.

The preliminary render graph will use the entity system for storage and make that a hard requirement for any implementation. However, any resource sharing and fiber/thread safety will be implementation dependent.