Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 1.88 KB

TODO.md

File metadata and controls

80 lines (63 loc) · 1.88 KB

Unsorted

Debugging-aid

  • Draw axes
  • Draw surface & vertex normals

Feature-wise

  • Camera transformations w/ 2 degrees-of-freedom (yaw and pitch)

  • Perspective transformation

  • Back-face culling

  • Raster-clipping

  • Culling & clipping based on the view space

    • Frustum-culling
      • Crude (AABB vs. AABB)
      • Smart (some other more optimized technique)
    • Clipping geometries against the view frustum
      • Clipping against the near-plane
      • Clipping against the far-plane
      • Clipping against other planes? (Or would raster-clipping be enough?)
  • Flat-shading

  • Phong reflection model

    • Ambient lighting
    • Diffuse lighting
    • Specular reflections
  • Texture-mapping

    • Affine
    • Perspective-correct
  • Occlusion culling (😩)

  • Functionality for dynamically (re)loading mesh data (should go to server?)

Primitives

  • Rectangles
  • Lines
  • Triangles
  • Circles

Project Organization

  • README.md
  • File descriptions
  • CONVENTIONS
  • Migrate to TypeScript
  • Decoupling? Inspiration from OLC_PixelGameEngine, or OLC_ConsoleGameEngine, or OpenGL shading pipeline?

Tentative Backlog

release: 0.0.4

  • Loading Wavefront .obj files

release: 0.0.5

  • Z-buffering

release: 0.0.6

  • Clipping geometries against the view frustum (Against the near-plane specifically for the time being)
  • release 0.0.6.1

    • Migrate the engine to TypeScript 🎉

release: 0.0.7

  • Crude frustum-culling
  • Diffuse lighting

release: 0.0.8

  • Point light(s)
  • The complete Phong Reflection Model
    • Ambient
    • Diffuse
    • Specular

release: 0.0.9

  • Fix the oscillation in the frametimes

release: 0.0.x

  • Occlusion-culling