NcStudios / NcEngine

NcEngine: 3D game engine written in modern C++ and Vulkan
https://ncstudios.itch.io/
MIT License
36 stars 2 forks source link

Update Task Dependency Handling #640

Closed McCallisterRomer closed 1 month ago

McCallisterRomer commented 1 month ago

resolves #611

Removing task execution phases and replacing them with a scheduling mechanism based directly on task ids. Each task now has a unique id. When a task/graph is scheduled, instead of supplying the phase to run on, a list of predecessors and/or successors is given.

I also moved the particle emitter task that was on the render graph to the update graph. It couldn't be safely scheduled there before with the phase-based solution.