cage
cage copied to clipboard
vulkan transition roadmap
-
[ ] this roadmap
- make it as complete and detailed as possible, it would hopefully save us some surpraises later on
- overall strategy is to minimize the time when the engine does not render at all
-
[ ] vulkan frameworks research & evaluation
-
[ ] preparations
- [ ] add custom enums for graphical properties in assets
- [x] replace shader subroutines with switches
- [ ] add glslang compiler
- are there any alternatives?
- shader validation in asset processor
- [ ] modify asset manager to support asynchronous assets uploads
- add another step for loading assets that is periodically called and checks if the asset has finished its transfer to gpu memory
- add another similar step for unloading
- hot-reloads!
-
[ ] disable opengl
- [ ] turn opengl assets into dummies
- [ ] remove rendering of gui
- [ ] remove rendering internals in the engine
-
[ ] initial vulkan
- [ ] vulkan (framework) sdk linking
- [ ] implement assets loading
- [ ] implement minimal client application with the use of the assets (example project logo)
- [ ] another client application with rendering gui
-
[ ] vulkan engine
- [ ] simple opaque objects
- [ ] gui
- [ ] hdr + gamma correction
- [ ] shadow maps
- [ ] transparent objects
- [ ] post processes
- [ ] parallelization
- one thread for assets loads and unloads
- one thread for each camera (actual camera or shadowmap pass)
- iterates over the cached entities and directly generates render queues
- one more thread for queues synchronization, dispatching, composition and final effects
-
[ ] final polishing
- [ ] stereo