summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* clip: avoid division by zero.rodri2024-05-031-2/+2
* add a general primitive with support for points, lines and triangles.rodri2024-05-0310-318/+863
* render: add rasterizer init params and per-proc identification.rodri2024-04-243-26/+38
* doc: add some schematics about the overall architecture.rodri2024-04-243-57/+715
* render: use the primitive's bbox to check for tile membership.rodri2024-04-181-9/+12
* render: make sure the last tile fills the screen.rodri2024-04-181-0/+2
* replace the Triangle with a general purpose Primitive.rodri2024-04-164-104/+118
* render: split tiles vertically instead of horizontally.rodri2024-04-151-4/+4
* add some instrumentation to measure pipeline stage time.rodri2024-04-153-2/+49
* implement a fully concurrent pipeline based on tiles.rodri2024-04-154-40/+204
* simplify the job scheduler. correct two mistakes regarding the Viewport.rodri2024-04-056-92/+49
* scene: correct blatant use-after-free.rodri2024-04-031-2/+3
* scene: add a way to remove entities and fix the clearscene routine.rodri2024-04-032-1/+12
* add trivial nil checks to some of the cleanup procedures.rodri2024-04-032-1/+10
* scene: implement full cleanup procedures.rodri2024-04-032-2/+22
* scene: fix uninitialized nents field.rodri2024-04-031-0/+1
* viewport: add a way to access front and back buffers.rodri2024-04-013-2/+10
* can't always rely on screen being there.rodri2024-04-011-1/+1
* pass a Viewport in the Renderjob instead of a fb.rodri2024-03-264-6/+15
* implement a (partially) concurrent pipeline.rodri2024-03-254-134/+234
* use the new libgeometry berp routines. add a frame counter to the camstats.rodri2024-03-215-19/+16
* pass material properties to the fshader.rodri2024-03-062-1/+3
* make the fshader return a Color instead of a Memimage. clean things up.rodri2024-03-063-30/+41
* add a texture sampler with nearest and bilinear routines.rodri2024-03-064-42/+191
* add user-defined vertex attributes (varyings) and improve the interpolation c...rodri2024-03-035-72/+232
* have separate routines for drawing and memdrawing.rodri2024-02-274-3/+34
* interpolate every vertex attribute when clipping and during rasterization.rodri2024-02-252-23/+43
* add initial support for OBJMaterial properties.rodri2024-02-213-10/+39
* implement general polygon fan triangulation.rodri2024-02-151-61/+48
* pass an entire entity to the shader unit. fix a bug in cliptriangle.rodri2024-02-142-26/+22
* lay out the grounds for a scene renderer.rodri2024-02-136-137/+234
* completed homogeneous clipping procedure.rodri2024-02-122-39/+101
* initial clipping implementation. (not fully working yet)rodri2024-02-101-67/+53
* load XRGB32 textures.rodri2024-02-081-6/+11
* implement perspective-correct attribute interpolation.rodri2024-02-071-13/+146
* document part of the pipeline. prepare the grounds for triangle clipping.rodri2024-02-032-37/+82
* only create existing indices during quad triangulation.rodri2024-02-011-24/+32
* improve coordinate transformations and fix projections.rodri2024-01-315-93/+42
* make the vertex shader process actual vertices.rodri2024-01-303-8/+5
* update readme.rodri2024-01-301-0/+3
* import the new renderer and clean things up.rodri2024-01-3013-225/+895
* use the system-wide libgeometry.rodri2024-01-261-3/+1
* add a line clipping procedure based on the Liang-Barsky algorithm. (thanks jm...rodri2021-07-182-1/+64
* move the edge function out into libgeometry.rodri2020-07-051-30/+0
* bring flat triangle rasterization back, with some goodies for future shading ...rodri2020-06-294-1/+88
* transcribe macros into actual functions. remove unused memdraw code.rodri2020-04-282-37/+55
* standalone version release.rodri2020-04-179-0/+904