Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | triangulate quads. replace matrix rotation with quaternions. | rodri | 2024-01-14 | 1 | -16/+77 |
| | | | | | generalize texture image decoding. change lighting. | ||||
* | change the model's scale with the scroll wheel. | rodri | 2023-12-28 | 1 | -4/+5 |
| | |||||
* | add keys to move the camera around. | rodri | 2023-12-28 | 1 | -5/+26 |
| | |||||
* | organize the code better. | rodri | 2023-12-23 | 1 | -332/+3 |
| | |||||
* | renamed def.obj to quad.obj to better reflect its purpose. | rodri | 2023-12-22 | 1 | -1/+1 |
| | | | | also added more models with its respective diffuse textures. | ||||
* | experiments with sdfs and texture mapping. | rodri | 2023-12-21 | 1 | -17/+32 |
| | |||||
* | added a knob to scale the model. | rodri | 2023-12-19 | 1 | -3/+14 |
| | |||||
* | don't test for locking, just do it. | rodri | 2023-12-19 | 1 | -13/+10 |
| | |||||
* | initialize the zbuflk to zero. | rodri | 2023-12-19 | 1 | -0/+1 |
| | |||||
* | put the zbuflk in the Framebuf. | rodri | 2023-12-19 | 1 | -4/+4 |
| | |||||
* | fix memory leak when counting faces during shading. | rodri | 2023-12-18 | 1 | -20/+23 |
| | | | | since the model won't change, instead of freeing the elems on every run i decided to make the relevant counts statically allocated, and do the counting once. | ||||
* | implemented double-buffering. | rodri | 2023-12-18 | 1 | -49/+124 |
| | |||||
* | remove unnecessary matrix xforms from the vertex shaders. | rodri | 2023-12-18 | 1 | -12/+5 |
| | |||||
* | fix the vertex shader for some of the shading pipelines. | rodri | 2023-12-18 | 1 | -4/+21 |
| | |||||
* | added a rotating animation with a corresponding knob to tweak the speed. | rodri | 2023-12-18 | 1 | -26/+41 |
| | |||||
* | add knobs to control fb's dimensions. make the light an actual global. | rodri | 2023-12-17 | 1 | -31/+35 |
| | |||||
* | added a time uniform bind for cool animations. | rodri | 2023-12-17 | 1 | -11/+29 |
| | | | | also changed the default fb size to get higher frame rates. | ||||
* | render in a loop and gather stats about frame latency. | rodri | 2023-12-17 | 1 | -26/+34 |
| | |||||
* | added a table of shaders to choose from. | rodri | 2023-12-17 | 1 | -17/+55 |
| | |||||
* | added a diablo3 model. | rodri | 2023-12-16 | 1 | -1/+1 |
| | |||||
* | added a toon shader. | rodri | 2023-12-16 | 1 | -2/+19 |
| | |||||
* | got stuck and skipped to Lesson 6: Shaders for the software renderer. | rodri | 2023-12-16 | 1 | -273/+219 |
| | | | | | | i was unable to find a fix for the rendering artifacts i was getting and decided to skip to a later chapter, with a new architecture based on actual shaders, that made things easier to understand. right after the move i spotted the problem (and others that showed up) and was finally able to fix them. it's working now! | ||||
* | Lesson 5 prelude: Gouraud shading (not fully working.) | rodri | 2023-12-13 | 1 | -15/+54 |
| | | | | | the normals from the file don't seem to be well formed, maybe the order is wrong or the indices. | ||||
* | add the option to visualize normals. | rodri | 2023-11-19 | 1 | -9/+38 |
| | |||||
* | put all the transformations in a single matrix. | rodri | 2023-11-18 | 1 | -4/+1 |
| | |||||
* | implemented perspective projection and a new rendering procedure (flag2). | rodri | 2023-11-18 | 1 | -16/+255 |
| | |||||
* | correct zfb color rendering. | rodri | 2023-11-15 | 1 | -3/+3 |
| | |||||
* | got rid of unused code. implemented memsetd for double sized filling. | rodri | 2023-11-14 | 1 | -23/+14 |
| | |||||
* | show the rendering as it happens, with the option of visualizing the z-buffer. | rodri | 2023-11-14 | 1 | -19/+70 |
| | |||||
* | add some shaping function experiments. | rodri | 2023-11-12 | 1 | -16/+65 |
| | |||||
* | remove unnecessary cbuf2 variable. | rodri | 2023-11-12 | 1 | -5/+2 |
| | |||||
* | correct rgb to rgba conversion. | rodri | 2023-11-12 | 1 | -1/+1 |
| | |||||
* | added texture mapping. | rodri | 2023-11-12 | 1 | -28/+98 |
| | |||||
* | Lesson 2: Hidden faces removal (z-buffer) | rodri | 2023-11-12 | 1 | -72/+33 |
| | |||||
* | Lesson 1: Triangle rasterization and back-face culling—Flat shading render | rodri | 2023-11-11 | 1 | -7/+25 |
| | |||||
* | adapted to the new libobj element format. | rodri | 2023-11-11 | 1 | -39/+57 |
| | | | | now african_head.obj doesn't fail to parse, and we will use those texture indices soon. | ||||
* | add support for OBJ models (triangles only). | rodri | 2023-11-11 | 1 | -26/+132 |
| | | | | also put a guard on the filltriangle slopes to avoid division by zero. | ||||
* | parallelize shader execution. | rodri | 2023-11-10 | 1 | -19/+85 |
| | |||||
* | correct the fb's rframe and use another Memimage for fragments. | rodri | 2023-11-10 | 1 | -15/+13 |
| | |||||
* | experiments with triangle and circle shaders. | rodri | 2023-11-10 | 1 | -4/+38 |
| | |||||
* | track nanosec.c and fix some things. | rodri | 2023-11-09 | 1 | -10/+8 |
| | |||||
* | Lesson 1: Triangle rasterization and back-face culling—Triangle shader | rodri | 2023-11-09 | 1 | -11/+72 |
| | |||||
* | cleanup. | rodri | 2023-11-09 | 1 | -7/+6 |
| | |||||
* | Lesson 1: Triangle rasterization and back-face culling—First attempt | rodri | 2023-11-09 | 1 | -10/+69 |
| | |||||
* | Lesson 1: Triangle rasterization and back-face culling—Preparation | rodri | 2023-11-09 | 1 | -2/+13 |
| | |||||
* | Lesson 0: Bresenham's Line Drawing Algorithm—Fifth attempt | rodri | 2023-11-09 | 1 | -10/+10 |
| | |||||
* | Lesson 0: Bresenham's Line Drawing Algorithm—Third attempt | rodri | 2023-11-09 | 1 | -9/+39 |
| | |||||
* | Lesson 0: Bresenham's Line Drawing Algorithm—First attempt | rodri | 2022-06-22 | 1 | -0/+222 |