Commit Graph

46 Commits

Author SHA1 Message Date
Godzil
e45dbad59e Added some proper test scenes for chapter 11. 2020-02-22 00:50:55 +00:00
Godzil
3db0aaaeac Refraction seems to work. Still need to do a nice scene. 2020-02-21 22:50:12 +00:00
Godzil
df52cb36db Working on refraction & transparency.
Lots of work left to do!
2020-02-21 18:59:14 +00:00
Godzil
89dd74fa7c Finally! We have reflections! 2020-02-21 17:39:45 +00:00
Godzil
7337ae4837 Finally! We have reflections! 2020-02-21 17:21:06 +00:00
Godzil
7687581e83 Finishing touch for patterns! 2020-02-21 12:05:30 +00:00
Godzil
75cf59cc1a Adding support for pattern.
Still a bit more work to be done there.
2020-02-21 09:36:34 +00:00
Godzil
9d0db6a635 Added planes! 2020-02-21 00:26:48 +00:00
Godzil
66c1582a5f Shape is now an abstract class and can't be instanciated.
Change derived shape to only deal with local calculation they don't need anymore to deal with how they've been transformed.
2020-02-21 00:02:30 +00:00
Godzil
2a8fe61388 Working on adding test for the shape object. 2020-02-20 18:06:29 +00:00
Godzil
cf5597ad6d Adding shadows! 2020-02-20 17:46:03 +00:00
Godzil
10ae695f01 Trying to fixing some weird things about coverall, also add some real more coverage. 2020-02-20 16:47:00 +00:00
Godzil
daef0c078f Revert the canvas size to the one from the chapter 2020-02-20 16:13:58 +00:00
Godzil
a477b137e7 Add a super special Camera from a well known constructor. Can take picture up to Infinite TeraPixel! 2020-02-20 16:08:47 +00:00
Godzil
bc047cd89e Add viewTransform transformation 2020-02-20 15:11:40 +00:00
Godzil
863bb2a34b Name consistency 2020-02-20 14:48:11 +00:00
Godzil
999419dfe1 World is on the verge of working! 2020-02-20 01:41:53 +00:00
Godzil
a82b67faa4 Working on worlds.
It's currently crashing.
2020-02-19 18:05:48 +00:00
Godzil
60d639f3a7 Start working on world (domination) 2020-02-18 17:31:21 +00:00
Godzil
9f764018d3 Add a couple of test for code that wasn't tested before. 2020-02-18 12:20:40 +00:00
Godzil
af96d52c5a Renaming Object to Shape (part 2) 2020-02-18 11:43:05 +00:00
Godzil
5a4f9f4dc4 Renaming Object to Shape (part 1) 2020-02-18 11:40:55 +00:00
Godzil
4dd7a3af39 Add Chapter 5 and 6 executable to the test list 2020-02-17 23:22:05 +00:00
Godzil
9bdfb26f7e Add Chapter 06 test! 2020-02-17 19:15:58 +00:00
Godzil
5ebed12f4f Add support for point light and materials.
Add material to objects.
2020-02-17 19:12:57 +00:00
Godzil
73d60fb7e4 Fix a copy mistake. 2020-02-17 19:09:31 +00:00
Godzil
4a9379c0b2 Naming consistency 2020-02-17 17:57:55 +00:00
Godzil
aeb4669162 Add vector reflection via a normal vector. 2020-02-17 15:56:08 +00:00
Godzil
a8194169c5 Add function to calculate sphere normal vector on given point on the sphere. 2020-02-17 15:39:14 +00:00
Godzil
656ff52204 Add Chapter 5 "putting it together" example. 2020-02-17 14:30:21 +00:00
Godzil
00b283053e Add transformation to objects. 2020-02-17 14:15:55 +00:00
Godzil
c4418683c6 Add the hit function to get the closest non negative hit, and add some mecanisme to test that properly and report when no valid hit occur. 2020-02-17 12:24:15 +00:00
Godzil
1900d1f45d Change the Intersection to a class, and stop using memory allocation for it (and pointer)
A bit more clean (on the code side)
2020-02-17 11:48:29 +00:00
Godzil
01a0de09ab Add 3 new type of object: Sphere, Object and Intersect.
Add Intersect object as a way to report where a ray intersect another object and which one it is.
Add an Object base class for all object that can be rendered.
Add the Sphere object.
2020-02-17 11:16:20 +00:00
Godzil
8faf1db3be More Ray work. 2020-02-15 23:45:19 +00:00
Godzil
79af9fbc97 Also rename the test file. 2020-02-15 23:20:37 +00:00
Godzil
1e2588441f Rename tuple file to remove the plural.
Also add empty shell ray.
2020-02-15 23:18:04 +00:00
Godzil
dee4b9ae91 Now we can transform! 2020-02-14 23:28:56 +00:00
Godzil
514bd649c1 Correct how google test is used.
I think it was working before because the other computer had gtest system installed.

Bonus: it is now also integrated with CTest
2020-02-14 22:19:39 +00:00
Godzil
0621ca86e1 Change width to size, as it is more correct.
Add calculation of determinant, submatric, minorm cofactor and inverse of a matrix.
2020-02-14 19:19:36 +00:00
Godzil
c4c216647d First batch of matrix related functions 2020-02-14 17:49:51 +00:00
Godzil
fac2212661 Canvas implementation and add build of LodePNG 2020-02-14 16:04:28 +00:00
Godzil
a9321b5051 Update an header 2020-02-14 15:08:50 +00:00
Godzil
f3678992c5 Add Colour implementation 2020-02-14 15:08:40 +00:00
Godzil
332e73a3d9 Add support for tuples/point/vector and corresponding tests. 2020-02-14 14:22:13 +00:00
Godzil
0caa4b8e34 Add all cmakelist files 2020-02-14 14:21:30 +00:00