Skip to content

Latest commit

 

History

History
37 lines (33 loc) · 1.87 KB

TODO.md

File metadata and controls

37 lines (33 loc) · 1.87 KB

TODO

Important Features

  • Camera paths (splines?)
  • Animations (and "native" wireframe model support (only edges, not faces; maybe even 2d))
  • Particle systems
  • Affine texture mapping (cf. fatmap.txt)
  • Subpixel-accuracy (cf. fatmap2.txt)

Implementation details and Bugfixes

  • Fix ordering table (Seriously, the drawing order is broken for non-trivial .obj files)
  • Proper near-plane clipping
  • Use division LUTs for triangle-filling (integers) and for perspective divides (fixed point)
  • Broadphase with bounding spheres for model-instances (and option for models with fewer faces which get activated if their distance to the camera is large).
  • use sin_lut instead of fxSin for better accuracy maybe.
  • Option for pre-sorted geometry (in case the camera moves only backward/forwards etc. it would be more efficient).
  • Option to calculate the actual centroid of a face for sorting
  • Better handling of lookAt singularity (looking completely down/up)

Misc

  • Create a Readme/How to use

Done

  • Change model-instance draw options to be properties of the model-instances themselves (so we can have different draw styles for different model-instances and don't have to draw all instances the same)
  • Fix broken performance measurement (calculate proper averages etc.)
  • Fix ugly rasterisation bugs
  • Faster triangle filling (refer to fatmap.txt)
  • Basic .obj support
  • Simplify perspective calculations
  • Don't recalculate vertex projections for each face!
  • Alternative to naive polygon sorting (ordering table)
  • Mode switching
  • Backface culling winding order/normal problem
  • Key chording/sequences for scene switching
  • Handle .obj colours (.mtl) on import
  • Integration of 'apex audio system' for .mod support
  • Put models into ROM (const)