/polyesther

Toy obj model viewer.

Primary LanguageC++

Description

Simple obj model viewer. Renders obj models with software rasterizer or DX12 renderer.

Build steps Windows

  1. Clone the repository with submodules.
  2. Install VisualStudio
  3. Open polyesther.sln and build.

TODO

  1. Add model save/load with imgui.
  2. Change camera controls to resemble those of windows 3D viewer (rotating around the model with mouse)
  3. Add lighting, render feature, switching renderer controls to imgui.
  4. Minimize code duplication in DX12 renderer.
  5. Add SSAO to DX12 renderer.
  6. Add SSR to DX12 renderer.
  7. Fix backface culling in software renderer.
  8. Refactoring: fix todos in code.
  9. Add more render features to DX12 implementation for education purposes.
  10. Fix window resize issues.
  11. Speed up software rasterizer.
  12. Render imgui and image from renderer on separate threads.
  13. Add raytracer.
  14. Use dropdown to choose current renderer.
  15. Fix hardware rasterizer not drawing during window drag.