summaryrefslogtreecommitdiff
path: root/main.c
Commit message (Expand)AuthorAgeFilesLines
* do the quad triangulation on a separate procedure.rodri2024-01-281-54/+67
* add a model of the earth. do texture mapping based on picture format (RGB24, ...rodri2024-01-141-1/+8
* triangulate quads. replace matrix rotation with quaternions.rodri2024-01-141-16/+77
* change the model's scale with the scroll wheel.rodri2023-12-281-4/+5
* add keys to move the camera around.rodri2023-12-281-5/+26
* organize the code better.rodri2023-12-231-332/+3
* renamed def.obj to quad.obj to better reflect its purpose.rodri2023-12-221-1/+1
* experiments with sdfs and texture mapping.rodri2023-12-211-17/+32
* added a knob to scale the model.rodri2023-12-191-3/+14
* don't test for locking, just do it.rodri2023-12-191-13/+10
* initialize the zbuflk to zero.rodri2023-12-191-0/+1
* put the zbuflk in the Framebuf.rodri2023-12-191-4/+4
* fix memory leak when counting faces during shading.rodri2023-12-181-20/+23
* implemented double-buffering.rodri2023-12-181-49/+124
* remove unnecessary matrix xforms from the vertex shaders.rodri2023-12-181-12/+5
* fix the vertex shader for some of the shading pipelines.rodri2023-12-181-4/+21
* added a rotating animation with a corresponding knob to tweak the speed.rodri2023-12-181-26/+41
* add knobs to control fb's dimensions. make the light an actual global.rodri2023-12-171-31/+35
* added a time uniform bind for cool animations.rodri2023-12-171-11/+29
* render in a loop and gather stats about frame latency.rodri2023-12-171-26/+34
* added a table of shaders to choose from.rodri2023-12-171-17/+55
* added a diablo3 model.rodri2023-12-161-1/+1
* added a toon shader.rodri2023-12-161-2/+19
* got stuck and skipped to Lesson 6: Shaders for the software renderer.rodri2023-12-161-273/+219
* Lesson 5 prelude: Gouraud shading (not fully working.)rodri2023-12-131-15/+54
* add the option to visualize normals.rodri2023-11-191-9/+38
* put all the transformations in a single matrix.rodri2023-11-181-4/+1
* implemented perspective projection and a new rendering procedure (flag2).rodri2023-11-181-16/+255
* correct zfb color rendering.rodri2023-11-151-3/+3
* got rid of unused code. implemented memsetd for double sized filling.rodri2023-11-141-23/+14
* show the rendering as it happens, with the option of visualizing the z-buffer.rodri2023-11-141-19/+70
* add some shaping function experiments.rodri2023-11-121-16/+65
* remove unnecessary cbuf2 variable.rodri2023-11-121-5/+2
* correct rgb to rgba conversion.rodri2023-11-121-1/+1
* added texture mapping.rodri2023-11-121-28/+98
* Lesson 2: Hidden faces removal (z-buffer)rodri2023-11-121-72/+33
* Lesson 1: Triangle rasterization and back-face culling—Flat shading renderrodri2023-11-111-7/+25
* adapted to the new libobj element format.rodri2023-11-111-39/+57
* add support for OBJ models (triangles only).rodri2023-11-111-26/+132
* parallelize shader execution.rodri2023-11-101-19/+85
* correct the fb's rframe and use another Memimage for fragments.rodri2023-11-101-15/+13
* experiments with triangle and circle shaders.rodri2023-11-101-4/+38
* track nanosec.c and fix some things.rodri2023-11-091-10/+8
* Lesson 1: Triangle rasterization and back-face culling—Triangle shaderrodri2023-11-091-11/+72
* cleanup.rodri2023-11-091-7/+6
* Lesson 1: Triangle rasterization and back-face culling—First attemptrodri2023-11-091-10/+69
* Lesson 1: Triangle rasterization and back-face culling—Preparationrodri2023-11-091-2/+13
* Lesson 0: Bresenham's Line Drawing Algorithm—Fifth attemptrodri2023-11-091-10/+10
* Lesson 0: Bresenham's Line Drawing Algorithm—Third attemptrodri2023-11-091-9/+39
* Lesson 0: Bresenham's Line Drawing Algorithm—First attemptrodri2022-06-221-0/+222