Zachary D. Rowitsch
|
26560effb0
|
Genericize lists, makes it easy to switch between linked list to array backed list
|
2023-10-08 00:24:33 -04:00 |
|
twistdroach
|
e2c819261c
|
Refactor functions with no arguments to make sure they have a prototype
|
2023-10-02 20:05:58 -04:00 |
|
twistdroach
|
c05ef0b5b0
|
Add some return NULLs in case a Throw happens outside of a Try block
|
2021-01-16 21:21:47 -05:00 |
|
Zachary D. Rowitsch
|
24f56ea0e1
|
Stop using reallocarray for portability
|
2020-12-04 23:09:08 -05:00 |
|
Zachary D. Rowitsch
|
93d4c98c64
|
NetBSD compat changes
|
2020-11-13 15:38:46 -05:00 |
|
Zachary D. Rowitsch
|
61b5f7b1f7
|
Begin clang-format
|
2020-10-23 23:16:52 -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
|
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
|
fbfae1a2b4
|
minor const additions in camera.c
|
2020-10-03 11:21:26 -04:00 |
|
Zachary D. Rowitsch
|
6d87b1547e
|
move pxl calc inside render loop (not likely important)
|
2020-10-02 00:05:23 -04:00 |
|
Zachary D. Rowitsch
|
7c46be57c9
|
better obj file load error handling
|
2020-10-01 23:20:28 -04:00 |
|
Zachary D. Rowitsch
|
cad4091e86
|
Minor fix to prevent potential overflow when malloc'ing canvas data
|
2020-09-30 21:29:44 -04:00 |
|
Zachary D. Rowitsch
|
e2a3378789
|
Update readme to include code quality badge, fix log message format error in wavefrontobj.c
|
2020-09-30 21:05:49 -04:00 |
|
Zachary D. Rowitsch
|
5c8e2e70ad
|
Add triangle normal interpolation...
|
2020-09-29 22:50:49 -04:00 |
|
Zachary D. Rowitsch
|
86e46c5cf3
|
Modify camera to log some rendering status
|
2020-09-28 19:47:39 -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
|
7f2e53cbd1
|
Implement groups
|
2020-09-25 00:36:26 -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 |
|
Zachary D. Rowitsch
|
66e29e41d1
|
Add schlick approximation to implement fresnel effect
|
2020-09-07 00:06:31 -04:00 |
|
Zachary D. Rowitsch
|
0506bd7b68
|
begin implementing refraction & transparency, no updated demo quite yet, need fresnel effect
|
2020-09-06 22:37:07 -04:00 |
|
Zachary D. Rowitsch
|
7de52c66a4
|
add recursion limit in reflection ray casting
|
2020-09-05 18:42:40 -04:00 |
|
Zachary D. Rowitsch
|
7a7a150590
|
Begin adding reflections. No recursion limit yet, so world test blows up
|
2020-09-05 00:54:54 -04:00 |
|
Zachary D. Rowitsch
|
30ab325f8b
|
Fix to checker pattern
|
2020-08-29 01:41:01 -04:00 |
|
Zachary D. Rowitsch
|
417d232df1
|
Beggining patterns, only have test & striped at the moment
|
2020-08-28 23:38:50 -04:00 |
|
Zachary D. Rowitsch
|
32f98db841
|
Factored out shapeholder, shapes handling is now much cleaner
|
2020-08-26 00:28:59 -04:00 |
|
Zachary D. Rowitsch
|
569aa41f46
|
Add WORLD_delete_all_objects for convenience so we don't have to track of ptrs to all the objects in a world outside of the world
|
2020-08-25 23:26:55 -04:00 |
|
Zachary D. Rowitsch
|
c64fd3cfd0
|
Add a plane shape type, with tests, and a new demo executable
|
2020-08-25 23:12:53 -04:00 |
|
Zachary D. Rowitsch
|
71726673eb
|
Minor refactor to push shapes into their own module...
|
2020-08-25 20:24:25 -04:00 |
|
Zachary D. Rowitsch
|
bb991af361
|
Minor refactoring to cleanup after creating shape parent class
|
2020-08-25 20:09:00 -04:00 |
|
Zachary D. Rowitsch
|
ed3888f456
|
Abstract shapes is complete
|
2020-08-24 21:34:46 -04:00 |
|
Zachary D. Rowitsch
|
27ff591903
|
Begin abstracting shapes
|
2020-08-23 21:52:27 -04:00 |
|
Zachary D. Rowitsch
|
60f7cf4af2
|
Remove intersections module, absorb into ray
|
2020-08-22 22:37:27 -04:00 |
|
Zachary D. Rowitsch
|
af59f19026
|
Implment shadows, one failing world test!
|
2020-08-20 00:09:06 -04:00 |
|
Zachary D. Rowitsch
|
8165bd1eb5
|
Finished adding camera, build demo with three spheres
|
2020-08-19 00:20:18 -04:00 |
|
Zachary D. Rowitsch
|
860d88008e
|
Beginning camera implementation
|
2020-08-17 23:34:32 -04:00 |
|
Zachary D. Rowitsch
|
166c0b3f25
|
further world implementation, light copy function
|
2020-08-17 22:38:01 -04:00 |
|
Zachary D. Rowitsch
|
dabf643346
|
Further world implementation (and introduction of intersection computation cache)
|
2020-08-16 23:07:05 -04:00 |
|
Zachary D. Rowitsch
|
dd045f5516
|
Begin world implementation, minor cleanup
|
2020-08-16 22:06:42 -04:00 |
|
Zachary D. Rowitsch
|
6b029b69fc
|
More minor refactoring
|
2020-08-14 23:19:10 -04:00 |
|
Zachary D. Rowitsch
|
21461babe4
|
Refactoring... name structs that were anonymous (to help my ide), refactor to minimize heap allocations
|
2020-08-14 23:04:59 -04:00 |
|
Zachary D. Rowitsch
|
715695778e
|
Optimize matrixes a bit - put double array inside the struct instead of a ptr. Inlined a few matrix functions. Reduced optimized run time of phone_sphere benchmark from 2m to 1m
|
2020-08-13 23:40:30 -04:00 |
|
Zachary D. Rowitsch
|
68c220a3fa
|
Configure unity to include doubles, use reallocarray in ray.c
|
2020-08-13 21:00:56 -04:00 |
|
Zachary D. Rowitsch
|
594127acfc
|
add newlines to make clang happy
|
2020-08-12 23:56:33 -04:00 |
|
Zachary D. Rowitsch
|
46872568fc
|
finish SPHERE_new constructor refactor
|
2020-08-12 23:41:50 -04:00 |
|
Zachary D. Rowitsch
|
65d1a212d5
|
Add assertion to CAVAS_write_pixel
|
2020-08-12 23:38:41 -04:00 |
|
Zachary D. Rowitsch
|
212150d4d9
|
Add materials/lights, calculate phong shading, phon_render_sphere not quite shaded correctly yet...
|
2020-08-12 00:55:11 -04:00 |
|
Zachary D. Rowitsch
|
82e94c8ba1
|
Add sphere transformations (and use them when calculating ray intersections), add sphere_shadow to test
|
2020-08-11 05:46:08 -04:00 |
|
Zachary D. Rowitsch
|
20f06a79b5
|
Add rays/spheres/intersections. Spheres incomplete
|
2020-08-10 00:15:29 -04:00 |
|