- Draw axes
- Draw surface & vertex normals
-
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?)
- Frustum-culling
-
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?)
- Rectangles
- Lines
- Triangles
- Circles
-
README.md
- File descriptions
-
CONVENTIONS
- Migrate to TypeScript
- Decoupling? Inspiration from
OLC_PixelGameEngine
, orOLC_ConsoleGameEngine
, or OpenGL shading pipeline?
- Loading Wavefront
.obj
files
- Z-buffering
- Clipping geometries against the view frustum (Against the near-plane specifically for the time being)
-
- Migrate the engine to TypeScript 🎉
- Crude frustum-culling
- Diffuse lighting
- Point light(s)
- The complete Phong Reflection Model
- Ambient
- Diffuse
- Specular
- Fix the oscillation in the frametimes
- Occlusion-culling