change the raster format to RGBA32. draw to any image format. clean up.
fix a use-after-free when profiling rasterizer times.
texture: clamp the coordinates instead of aborting when out of bounds.
render: clip the triangle bbox against the wr directly at the tiler.
render: only store rendertimes if profiling is enabled.
allocate renderjob times dynamically for the parallel stages.
remove unnecessary copying. profile individual stage procs.
render: get more accurate stage completion times.
unify shaders into a single interface.
render: remove pointless for-loop.
fb: draw FLOAT32 rasters in greyscale color.
render: get rid of useless temporary.
implement a general raster interface for the framebuffers.
replace f?(min|max) functions with type-agnostic macros.
scene: add a method to get an entity from a scene.
methods to add primitives and materials to a Model.
fix the A-buffer so that it handles multiple render passes.
color: add ACES tone mapping functions.
fb: a better clipped drawing procedure.
correct the light types constants.
unify drawing routines and add clipped fb drawing support.
fix FPINVAL error. knob for fb clear color. general improvements.
experimental A-buffer implementation.
offset fb during drawing based on viewport config. move OBJ-related procedures to its own unit.
fix a double-free. add a generic value-swapping macro.
fix line interpolation during rasterization.
fb: fix the destination drawing rectangle.
add a viewport upscale filters interface.
doc: write about the scene, the viewport. organize things better.
doc: write about the renderer, with a little introduction.
reduce the volume of Camera.times records. clean up.
implement pixel art upscaling filters scale[23]x. tidy up some code.
fix stack overflow, skybox fov sensibility and scene duplication.
initial viewport upscaling support.
small improvements and a skybox bugfix.
enable culling and add a camera knob for it.
fix the geometry glitches when moving things around.
texture nomenclature changes. fb format RGBA → XRGB.
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)