Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vulkan transition roadmap #5

Open
1 of 26 tasks
malytomas opened this issue Apr 7, 2019 · 0 comments
Open
1 of 26 tasks

vulkan transition roadmap #5

malytomas opened this issue Apr 7, 2019 · 0 comments

Comments

@malytomas
Copy link
Member

malytomas commented Apr 7, 2019

  • 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
    • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant