324d37f858
Render with the lighting model
2024-06-23 19:13:04 -04:00
59dfaf1696
Set up lighting calculations
2024-06-23 18:00:04 -04:00
2fbb468830
Calculate reflections of vectors
2024-06-23 17:26:09 -04:00
fa4ec059f7
Calculate the normal of the transformed sphere
2024-06-23 17:09:06 -04:00
4f47d65ba5
Add a sphere ray tracer
2024-06-23 16:20:10 -04:00
f15fa9dd48
Fix warnings
2024-06-23 15:53:41 -04:00
af75bc20c8
Extract Intersections into a dedicated file
2024-06-23 15:44:02 -04:00
b07925a2c3
Scale a sphere and ray with respect to one another
2024-06-23 15:34:08 -04:00
40bfe6d74f
Add addtional ops declarations to reduce cloning
2024-06-23 15:07:41 -04:00
af7d8680a0
Translate and scale a ray
2024-06-23 14:13:02 -04:00
8e4f6b06e6
Start building the intersection tests
2024-06-14 09:33:30 -04:00
bd899e3a2e
Clippy warnings
2024-06-10 09:46:58 -04:00
7be0baba53
Test chained transformations
2024-06-10 09:40:15 -04:00
a2aa132886
Matrix transformations
2024-06-10 09:34:59 -04:00
971206d325
Calculate the inverse of matrices
2024-06-10 07:54:58 -04:00
c2777e2a70
Basic matrix operations
2024-06-09 23:21:16 -04:00
2569a48792
Finish PPM conversions and plot the projectile
2024-06-09 15:58:24 -04:00
15d87fbde6
Create the converter to PPM
2024-06-09 15:45:13 -04:00
3c8536deb6
Create the color and the canvas
2024-06-09 14:57:33 -04:00
d0a8be63e9
Change the Tuple to a tuple without field names
...
This helps out when I go to use the same data structure as the backing
for colors.
2024-06-09 14:36:23 -04:00
2a38ca38e1
Extract the types into separate files
...
Not for any reason other than clarity. The number of operations that are
declared for each type is making it difficult to find operations and
difficult to keep the order consistent.
2024-06-09 14:18:46 -04:00
39c947b461
Implement the remaining operations and the projectile simulator
2024-06-09 14:08:01 -04:00
e23a4aacab
Add primitive math operations
2024-06-09 13:19:47 -04:00
01f3e05235
Create the basic Tuple, Point, and Vector types
2024-06-09 12:24:41 -04:00