cage icon indicating copy to clipboard operation
cage copied to clipboard

vulkan transition roadmap

Open malytomas opened this issue 6 years ago • 0 comments

  • [ ] 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

malytomas avatar Apr 07 '19 15:04 malytomas