Commit Graph

58 Commits

Author SHA1 Message Date
7f251e7704 Draw cube using vertices and triangles lists 2024-06-29 19:28:57 +01:00
fa5453d399 Add render_object function 2024-06-29 19:28:41 +01:00
7c192d5edf Include vector 2024-06-29 19:28:21 +01:00
33b89a9e44 Fix list type naming 2024-06-29 18:28:41 +01:00
d5a18828c5 Rename arena to frame_arena 2024-06-29 17:47:04 +01:00
c9f3c6ab01 Add colour field to triangle 2024-06-29 17:46:50 +01:00
96c5d21f79 Adjust cube colours 2024-06-29 17:16:48 +01:00
f922980232 Projection equation and first cube 2024-06-29 17:11:31 +01:00
6dc609be14 Update wireframe triangle colour 2024-06-29 15:54:54 +01:00
52dbae227d Switch list to use memory arena 2024-06-27 23:57:14 +01:00
5636fa57fc Remove aliases and add wizapp as submodule 2024-06-27 23:56:52 +01:00
e3c463d2f1 Add ability to draw filled triangle 2024-06-24 00:04:21 +01:00
01ece119ed Add list_pop and list_merge utilities 2024-06-24 00:04:01 +01:00
1c1b611bbb Draw first triangle 2024-06-23 22:33:33 +01:00
e622923e19 Zero memory when allocating list 2024-06-23 21:56:25 +01:00
f72568c135 Namespace list functions 2024-06-23 21:17:54 +01:00
ab469b8f37 Use list in rasteriser 2024-06-23 01:43:31 +01:00
058dba9276 Add basic list implementation 2024-06-23 01:43:18 +01:00
65dcd66f76 Add line_t struct and update draw_line function 2024-06-22 20:41:57 +01:00
5908cf3063 Move ARR_LEN macro to misc_utils 2024-06-22 20:41:23 +01:00
9f4137dac9 Draw first line 2024-06-22 19:27:30 +01:00
05eb1723ee Add vec_swap macro 2024-06-22 19:27:06 +01:00
3c21e2c471 Update raytracer window title 2024-06-22 18:20:43 +01:00
fc79cb1906 Start on the rasteriser implementation 2024-06-22 17:16:07 +01:00
8fc3a2577a Split scene definition to use it in both raytracer and rasteriser 2024-06-22 16:46:55 +01:00
fbe4513a14 Update c_cpp_aliases 2024-06-22 16:46:37 +01:00
0323fa2a8f Update README.md 2024-02-04 20:04:53 +00:00
1cebb9d29f Add screenshot from the raytracer 2024-02-04 20:04:07 +00:00
a7dda028aa Implement ability to move and rotate camera 2024-02-04 19:49:54 +00:00
c2560ccbdd Refactor and add reflections 2024-02-04 19:07:34 +00:00
6d8f332500 Improve readability 2024-02-04 17:32:57 +00:00
4914f8eb71 Define custom EPSILON 2024-02-04 00:20:54 +00:00
56959990e4 Add shadows 2024-02-04 00:19:11 +00:00
1f5568b63e Refactor trace_ray function 2024-02-04 00:11:20 +00:00
bfdea0fd0c Fix include 2024-02-03 23:21:54 +00:00
f2fdc0d084 Reformat 2024-02-03 22:20:55 +00:00
451aa48b3a Implement specularity 2024-02-03 22:09:12 +00:00
8b9ac28402 Implement diffuse lighting 2024-02-03 19:36:41 +00:00
f34e234609 Define utilities to multiply and divide a vector by a number 2024-02-03 19:18:50 +00:00
0b7ca65967 Add unit vector utilities 2024-02-03 18:36:58 +00:00
a4e67ebc18 Add executable permissions to build scripts 2024-02-03 16:04:20 +00:00
9b22ce61d5 Update colour_t to use a union 2023-12-27 22:03:14 +00:00
0345f90405 Add vector magnitude calculation 2023-12-20 16:37:50 +00:00
2ec654774e Update colours 2023-12-20 00:16:56 +00:00
6b0732980a Create initial raytraced scene 2023-12-20 00:05:49 +00:00
36913bf365 Add vector types and functions 2023-12-20 00:05:27 +00:00
25ff01b815 Add libm to libraries 2023-12-20 00:05:09 +00:00
f0b6771255 Add function to convert from window coordinates to viewport 2023-12-20 00:04:49 +00:00
c5cc8643e1 Explicitly cast screen coordinates in set_pixel 2023-12-18 14:21:20 +00:00
4a0ec9e5e7 Update denormalise function 2023-12-18 14:17:51 +00:00