do the quad triangulation on a separate procedure.
add a model of the earth. do texture mapping based on picture format (RGB24, RGBA32 atm.)
triangulate quads. replace matrix rotation with quaternions.
change the model's scale with the scroll wheel.
add keys to move the camera around.
renamed def.obj to quad.obj to better reflect its purpose.
experiments with sdfs and texture mapping.
don't test for locking, just do it.
fix memory leak when counting faces during shading.
remove unnecessary matrix xforms from the vertex shaders.
fix the vertex shader for some of the shading pipelines.
added a rotating animation with a corresponding knob to tweak the speed.
add knobs to control fb's dimensions. make the light an actual global.
added a time uniform bind for cool animations.
render in a loop and gather stats about frame latency.
added a table of shaders to choose from.
got stuck and skipped to Lesson 6: Shaders for the software renderer.
Lesson 5 prelude: Gouraud shading (not fully working.)
add the option to visualize normals.
put all the transformations in a single matrix.
implemented perspective projection and a new rendering procedure (flag2).
got rid of unused code. implemented memsetd for double sized filling.
show the rendering as it happens, with the option of visualizing the z-buffer.
add some shaping function experiments.
remove unnecessary cbuf2 variable.
add mk rule to pull dependencies (libobj for now).
Lesson 2: Hidden faces removal (z-buffer)
Lesson 1: Triangle rasterization and back-face culling—Flat shading render
adapted to the new libobj element format.
add support for OBJ models (triangles only).
correct the fb's rframe and use another Memimage for fragments.
experiments with triangle and circle shaders.
track nanosec.c and fix some things.
Lesson 1: Triangle rasterization and back-face culling—Triangle shader
Lesson 1: Triangle rasterization and back-face culling—First attempt
Lesson 1: Triangle rasterization and back-face culling—Preparation
Lesson 0: Bresenham's Line Drawing Algorithm—Fifth attempt
Lesson 0: Bresenham's Line Drawing Algorithm—Third attempt
Lesson 0: Bresenham's Line Drawing Algorithm—First attempt