rough color space conversion implementation.
render: don't overwrite the vertex colors with white. report alien prims.
fix the barycoords routine to avoid reporting false degenerates.
replace the Memimage color buffer with a ulong* one. some fixes.
add spotlight params and a light color shading routine. other things.
add a tangent parameter for normal mapping, and a world2model xform.
add a normal map property to Material.
replace the Framebufctl's Lock with a QLock.
fix the perspective projection and add inverse xform functions.
render: improve line raster (not fixed yet). also tag jobs with an id.
doc: correct the indices to make things simpler.
scene: free model materials during cleanup.
add a general primitive with support for points, lines and triangles.
render: add rasterizer init params and per-proc identification.
doc: add some schematics about the overall architecture.
render: use the primitive's bbox to check for tile membership.
render: make sure the last tile fills the screen.
replace the Triangle with a general purpose Primitive.
render: split tiles vertically instead of horizontally.
add some instrumentation to measure pipeline stage time.
implement a fully concurrent pipeline based on tiles.
simplify the job scheduler. correct two mistakes regarding the Viewport.
scene: correct blatant use-after-free.
scene: add a way to remove entities and fix the clearscene routine.
add trivial nil checks to some of the cleanup procedures.
scene: implement full cleanup procedures.
scene: fix uninitialized nents field.
viewport: add a way to access front and back buffers.
can't always rely on screen being there.
pass a Viewport in the Renderjob instead of a fb.
implement a (partially) concurrent pipeline.
use the new libgeometry berp routines. add a frame counter to the camstats.
pass material properties to the fshader.
make the fshader return a Color instead of a Memimage. clean things up.
add a texture sampler with nearest and bilinear routines.
add user-defined vertex attributes (varyings) and improve the interpolation code.
have separate routines for drawing and memdrawing.
interpolate every vertex attribute when clipping and during rasterization.
add initial support for OBJMaterial properties.
implement general polygon fan triangulation.
pass an entire entity to the shader unit. fix a bug in cliptriangle.
lay out the grounds for a scene renderer.
completed homogeneous clipping procedure.
initial clipping implementation. (not fully working yet)
implement perspective-correct attribute interpolation.
document part of the pipeline. prepare the grounds for triangle clipping.
only create existing indices during quad triangulation.
improve coordinate transformations and fix projections.
make the vertex shader process actual vertices.
import the new renderer and clean things up.
add a line clipping procedure based on the Liang-Barsky algorithm. (thanks jmi2k!)
move the edge function out into libgeometry.
bring flat triangle rasterization back, with some goodies for future shading work. add uv coordinates to the vertex.
transcribe macros into actual functions. remove unused memdraw code.