summaryrefslogtreecommitdiff
path: root/clip.c
Commit message (Collapse)AuthorAgeFilesLines
* remove unnecessary copying. profile individual stage procs.rodri2024-09-071-0/+3
|
* fix a double-free. add a generic value-swapping macro.rodri2024-08-051-16/+4
|
* make the depth buffer 32-bit.rodri2024-08-041-1/+1
|
* fix line interpolation during rasterization.rodri2024-08-021-3/+31
| | | | | | | vertex attributes were not being updated after clipping with their corresponding work rectangles, nor when reordering the points before rasterization, which caused serious artifacts.
* fix the geometry glitches when moving things around.rodri2024-07-131-10/+11
| | | | | | | | | | it's possible for interactive programs to keep updating the geometry of the scene during rendering, which caused primitives to look deformed or shattered in the final image. to avoid this we take a snapshot of the current state of things (scene and camera), and render based on that copy.
* small improvements.rodri2024-07-121-25/+27
|
* add cubemaps.rodri2024-06-061-2/+1
|
* fix line rasterization.rodri2024-05-211-10/+25
|
* clip: fix rectclipline.rodri2024-05-031-7/+10
| | | | | mixed up CLIP[TB] and the slope was being computed as an integer division, which caused artifacts.
* clip: avoid division by zero.rodri2024-05-031-2/+2
|
* add a general primitive with support for points, lines and triangles.rodri2024-05-031-0/+220
also got rid of the dependency on OBJ for the entire renderer, instead letting the user load a Model from any given OBJ. this modularity will allow for other formats to be used in the same way, relying on a single, internal representation for the entire pipeline.