Skip to content

Latest commit

 

History

History
24 lines (23 loc) · 1.32 KB

TODO.md

File metadata and controls

24 lines (23 loc) · 1.32 KB

TODO

  • Material system. Group objects by pipeline (shader, pipeline state), ideally sorted to avoid state changes
  • Rough visibility determination with bounding boxes, can be done as a compute pre-pass, then use the results with draw indirect.
  • Depth pre-pass, do shading with depth test equal + depth writes off
  • Can do alpha test in depth pre-pass, depth test equal will fail for the discarded fragments, now opaque and cutout share the same pass
  • Implement order independant transparency
  • Setup for bindless (descriptor indexing). Needs a single global vertex/index buffer. Index materials by push constant or gl_DrawID
  • Put all lightmaps on an single array image. Can be done for shadow maps too
  • Could use raytracing for realtime lightmap generation, also the IBL maps
  • Implement shadow maps, store results per light an only recalculate when objects move. Possibly implement stencil shadows as an alternative
  • Animation could be done in series of compute pre-passes, transform vertices before vertex shader
  • Light probes with spherical harmonics
  • Do async resource loading, synchronize between frames
  • Configurable settings (multisampling, anisotropic filtering, shadow quality, engine fine tuning, ...)
  • OpenXR integration. It requires special creation procedures for the instance, device and uses it's own swapchain