Commit Graph

50 Commits

Author SHA1 Message Date
ade35f3940 Add list_set function 2024-07-14 23:28:21 +01:00
51099ae97e Incomplete implementation of back face culling 2024-07-14 16:02:37 +01:00
5a3b143762 Add list_remove function 2024-07-14 16:02:19 +01:00
83fa308a4b Add cross product for 3D vectors 2024-07-14 16:01:55 +01:00
f6848b5f4f Start implementing drawing order 2024-07-14 00:49:41 +01:00
5d61e8a616 Add wireframe and solid render types 2024-07-13 22:43:00 +01:00
e236cd8bbe Create vertex_t and move h data to it 2024-07-13 22:00:48 +01:00
b0bf4f593b Add h values for scene_triangle_t 2024-07-13 19:32:02 +01:00
f6f2483b61 Finalise implementing triangle clipping 2024-07-13 18:26:15 +01:00
3c293198bb Start implementing clipping triangles 2024-07-10 00:18:10 +01:00
ae072ec70e Initial implementation of bounding sphere clipping 2024-07-09 23:31:54 +01:00
c3e1aac779 Move scene to raytracer 2024-07-09 19:44:19 +01:00
26fc513d4a Apply transformation first then project the points 2024-07-07 23:19:29 +01:00
9d929c22ba Add clipping planes to the scene 2024-07-07 23:19:12 +01:00
44c7b6ac1b Add function to multiply 4x4 matrix by 4D vector 2024-07-07 23:18:00 +01:00
7823e92861 Apply projection matrix last to allow for clipping 2024-07-07 22:06:35 +01:00
b7101108a4 Add rasteriser_scene_t struct and render_scene function 2024-07-07 21:58:16 +01:00
b81304e759 Switch to using transformation matrices 2024-06-30 02:40:04 +01:00
9ba7a8c414 Add vec4 types and functions 2024-06-30 00:09:22 +01:00
946ea9c307 Add model and instance data types 2024-06-29 20:04:52 +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
c9f3c6ab01 Add colour field to triangle 2024-06-29 17:46:50 +01:00
f922980232 Projection equation and first cube 2024-06-29 17:11:31 +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
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
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
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
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
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
36913bf365 Add vector types and functions 2023-12-20 00:05:27 +00:00
f0b6771255 Add function to convert from window coordinates to viewport 2023-12-20 00:04:49 +00:00
8a30e64696 Update set pixel to use integers instead of floats 2023-12-18 14:15:18 +00:00
c836f3758f Implement basic window abstraction 2023-12-18 13:25:02 +00:00
edf3851f20 Ignore build directory 2023-12-18 11:01:32 +00:00