94 Commits

Author SHA1 Message Date
Zachary D. Rowitsch
63b636da7c Beginning of metrics, working registry, counter and gauge 2023-12-10 00:02:45 -05:00
Zachary D. Rowitsch
ebfa2ae325 Refactor/rename Sasprintf -> UTILITIES_sasprintf 2023-10-07 19:39:43 -04:00
twistdroach
8ce1969891 Refactor RAY_Computations usage to eliminate some calls to malloc 2023-10-03 23:35:45 -04:00
twistdroach
e2c819261c Refactor functions with no arguments to make sure they have a prototype 2023-10-02 20:05:58 -04:00
Zachary D. Rowitsch
3e7c55cabb Parse yaml with materials (but not patterns) 2020-12-20 18:56:00 -05:00
twistdroach
905db5f871 Add sphere parsing 2020-12-18 19:20:49 -05:00
Zachary D. Rowitsch
0ebfe8a9f2 Fix some memory leaks in yamlloader 2020-12-13 07:01:59 -05:00
twistdroach
a8f8d89503 Fix cmake config that was causing pattern unit tests not to run 2020-12-12 19:17:14 -05:00
twistdroach
39d1dffa42 Fix failing yamlloader tests 2020-12-12 18:45:17 -05:00
twistdroach
b44cb88eee Add newline at the bottom of test_group.c 2020-12-12 18:40:50 -05:00
twistdroach
9adba3c9e3 Rendering working from yaml file. Only cubes are supported & no material definitions yet either... 2020-12-11 23:37:06 -05:00
Zachary D. Rowitsch
49aca245c4 Begin parsing yaml, can parse camera, lights. Need to add objects. Lots of cleanup & implementation to do 2020-12-04 23:09:11 -05:00
Zachary D. Rowitsch
41f8d49cb5 Begin yaml implementation - parsing light definition seems to work 2020-11-24 23:00:58 -05:00
Zachary D. Rowitsch
0ee822046b Add a blend pattern that maps to two individual patterns 2020-11-11 23:49:31 -05:00
Zachary D. Rowitsch
6c95741c44 Add texture/image mapping 2020-11-05 05:46:35 -05:00
Zachary D. Rowitsch
cb5f685802 Add ability to load a canvas from PPM 2020-11-03 22:47:40 -05:00
Zachary D. Rowitsch
1bffff54a3 Minor cleanup 2020-11-01 01:38:16 -05:00
Zachary D. Rowitsch
5e0ec8b785 Add cube mapping 2020-11-01 01:36:24 -04:00
Zachary D. Rowitsch
f2a472fc90 clang formatted my test obj file! 2020-10-27 21:23:51 -04:00
Zachary D. Rowitsch
292704b5de Refactoring to prepare for uv_pattern polymorphism implementation 2020-10-27 21:01:45 -04:00
Zachary D. Rowitsch
2e71225068 more mapping funcs for 3d point -> 2d surface for different primitives. need to refactor pattern & uv_pattern. 2020-10-25 21:08:38 -04:00
Zachary D. Rowitsch
ac4774eac1 Begin 2d mappings for future texture mapping support, sphere's only and likely need some refactoring 2020-10-25 18:51:14 -04:00
Zachary D. Rowitsch
1c0834c0ea Memory leak in RAY_delete_intersections - now that we preallocate xs, we shouldn't rely on the count to see if we need to free it 2020-10-24 23:35:00 -04:00
Zachary D. Rowitsch
b86753e165 clang-format commit 4 2020-10-23 23:41:36 -04:00
Zachary D. Rowitsch
a34e4409d0 Add area lights to shading calculation, refactor pointlight to be simple case of arealight instead of it's own struct 2020-10-21 23:59:57 -04:00
Zachary D. Rowitsch
2ee621e5c5 Area lights now support sequences for jittering...need some sequence implementations though.... 2020-10-19 22:08:03 -04:00
Zachary D. Rowitsch
90927aa5a4 Finish adding area lights 2020-10-17 23:39:39 -04:00
Zachary D. Rowitsch
6ed7ef5bc0 Ignore just the failing cone tests, not the entire set of cone tests 2020-10-17 18:42:42 -04:00
Zachary D. Rowitsch
18fdf844bc begin prepping for area lights & softer shadows 2020-10-14 23:38:35 -04:00
Zachary D. Rowitsch
48b4e3735f Add CSG divide method 2020-10-12 18:44:41 -04:00
Zachary D. Rowitsch
c3cef0cf4e Add obj file normalizer to auto scale to unit cube and set at origin 2020-10-10 20:09:04 -04:00
Zachary D. Rowitsch
fd7b1612ee Add bounding volume hierarchies. Move groups to a linked list implementation instead of the array backed list (lots of removals with BVH calculation). Turn off OpenMP for Debug builds 2020-10-08 21:45:29 -04:00
Zachary D. Rowitsch
595c005fdc Add bounds checking using axis aligned bounding boxes 2020-10-06 22:53:14 -04:00
Zachary D. Rowitsch
bc478d660a add Constructive Solid Geometry support 2020-10-04 20:33:41 -04:00
Zachary D. Rowitsch
e3ecba7b84 pull raytracer stuff out of datastructures 2020-10-03 11:34:11 -04:00
Zachary D. Rowitsch
c8e64670ac Avoid some setjmp/longjmp clobbering errors that show up in the release build 2020-10-01 23:21:01 -04:00
Zachary D. Rowitsch
fa1a653cdb Add some group tests and actually run some light tests... 2020-09-30 23:13:51 -04:00
Zachary D. Rowitsch
1e15ab45d5 add some missing testing for lights 2020-09-30 22:54:10 -04:00
Zachary D. Rowitsch
e1a11eae21 Add test of ARRLIST_safe_get() 2020-09-30 22:26:40 -04:00
Zachary D. Rowitsch
1bd210fcc9 Woops - forgot to add test_material to the list of tests 2020-09-30 19:51:20 -04:00
Zachary D. Rowitsch
5c8e2e70ad Add triangle normal interpolation... 2020-09-29 22:50:49 -04:00
Zachary D. Rowitsch
2558670a24 Added triangle support, added obj support. added render_obj binary to load and scale an obj file and render it 2020-09-28 00:35:46 -04:00
Zachary D. Rowitsch
590087a44d Add triangle implementation 2020-09-26 20:05:39 -04:00
Zachary D. Rowitsch
ce6251bbf5 Add a random sphere demo 2020-09-25 22:17:12 -04:00
Zachary D. Rowitsch
7f2e53cbd1 Implement groups 2020-09-25 00:36:26 -04:00
Zachary D. Rowitsch
5110b6b400 Add cylinders, though the tests don't all pass. Need to fix some day 2020-09-15 21:15:17 -04:00
Zachary D. Rowitsch
f49302d489 Finishing up cylinders 2020-09-11 20:20:38 -04:00
Zachary D. Rowitsch
273806e7ac Beginning of cylinders, major perf improvement by caching inverse transforms on shapes, need to do same for patterns 2020-09-10 22:54:23 -04:00
Zachary D. Rowitsch
39d1246141 minor refactoring to pull tuples & matrix into math package, need to pull apart raytracing and datastructures next 2020-09-09 23:19:24 -04:00
Zachary D. Rowitsch
2a6036da3d Added support for cubes, allowed a material setting to opt out an object for shadow hit calculation, and added a matrix multiply chaining convenience function 2020-09-09 23:04:11 -04:00