summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* replace the Framebufctl's Lock with a QLock.rodri2024-05-233-7/+8
* fix line rasterization.rodri2024-05-213-18/+31
* fix the perspective projection and add inverse xform functions.rodri2024-05-204-112/+177
* render: improve line raster (not fixed yet). also tag jobs with an id.rodri2024-05-172-7/+9
* doc: correct the indices to make things simpler.rodri2024-05-143-27/+27
* add a name property to Material.rodri2024-05-122-1/+10
* scene: free model materials during cleanup.rodri2024-05-101-0/+2
* clip: fix rectclipline.rodri2024-05-033-9/+13
* 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