Savanni D'Gerinel
4d67ea4af2
Fix a vector negation bug.
2024-07-21 20:59:28 -04:00
Savanni D'Gerinel
f347e2e47d
Set up some diagnostics for the specular highlight
2024-06-23 23:04:15 -04:00
Savanni D'Gerinel
324d37f858
Render with the lighting model
2024-06-23 19:13:04 -04:00
Savanni D'Gerinel
59dfaf1696
Set up lighting calculations
2024-06-23 18:00:04 -04:00
Savanni D'Gerinel
2fbb468830
Calculate reflections of vectors
2024-06-23 17:26:09 -04:00
Savanni D'Gerinel
fa4ec059f7
Calculate the normal of the transformed sphere
2024-06-23 17:09:06 -04:00
Savanni D'Gerinel
4f47d65ba5
Add a sphere ray tracer
2024-06-23 16:20:10 -04:00
Savanni D'Gerinel
f15fa9dd48
Fix warnings
2024-06-23 15:53:41 -04:00
Savanni D'Gerinel
af75bc20c8
Extract Intersections into a dedicated file
2024-06-23 15:44:02 -04:00
Savanni D'Gerinel
b07925a2c3
Scale a sphere and ray with respect to one another
2024-06-23 15:34:08 -04:00
Savanni D'Gerinel
40bfe6d74f
Add addtional ops declarations to reduce cloning
2024-06-23 15:07:41 -04:00
Savanni D'Gerinel
af7d8680a0
Translate and scale a ray
2024-06-23 14:13:02 -04:00
Savanni D'Gerinel
8e4f6b06e6
Start building the intersection tests
2024-06-14 09:33:30 -04:00
Savanni D'Gerinel
bd899e3a2e
Clippy warnings
2024-06-10 09:46:58 -04:00
Savanni D'Gerinel
7be0baba53
Test chained transformations
2024-06-10 09:40:15 -04:00
Savanni D'Gerinel
a2aa132886
Matrix transformations
2024-06-10 09:34:59 -04:00
Savanni D'Gerinel
971206d325
Calculate the inverse of matrices
2024-06-10 07:54:58 -04:00
Savanni D'Gerinel
c2777e2a70
Basic matrix operations
2024-06-09 23:21:16 -04:00
Savanni D'Gerinel
2569a48792
Finish PPM conversions and plot the projectile
2024-06-09 15:58:24 -04:00
Savanni D'Gerinel
15d87fbde6
Create the converter to PPM
2024-06-09 15:45:13 -04:00
Savanni D'Gerinel
3c8536deb6
Create the color and the canvas
2024-06-09 14:57:33 -04:00
Savanni D'Gerinel
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
Savanni D'Gerinel
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
Savanni D'Gerinel
39c947b461
Implement the remaining operations and the projectile simulator
2024-06-09 14:08:01 -04:00
Savanni D'Gerinel
e23a4aacab
Add primitive math operations
2024-06-09 13:19:47 -04:00
Savanni D'Gerinel
01f3e05235
Create the basic Tuple, Point, and Vector types
2024-06-09 12:24:41 -04:00