Commit Graph
65 Commits
Author SHA1 Message Date
Godzil c369d2fe2d Start working on dumping the world (to a JSON file) for debug purposes. 2020-02-27 18:03:08 +00:00
Godzil a6f0422bd1 Add renderstat to get some info about rendering. 2020-02-27 17:20:55 +00:00
Godzil 7a96d42874 Add bounding box calculation to triangle..
Could be helpful XD
2020-02-26 02:17:57 +00:00
Godzil 1c00077949 Prepare code to be able to get material from some form of a "group leader". 2020-02-26 00:32:14 +00:00
Godzil 5e4cfb84e6 Fix an issue with groups, and add Chapter 14 example! 2020-02-26 00:30:09 +00:00
Godzil aded6bb943 Triangles!!! 2020-02-25 18:42:45 +00:00
Godzil 2ea4abdce7 Boundingboxes should be ready.
Next step (later) would be to properly use them other than group to lower the number of intersection calculation per ray.
2020-02-25 18:03:12 +00:00
Godzil 3011544e8f Started working on boundingboxes. 2020-02-24 18:03:25 +00:00
Godzil 7bbe5e843b Group should work now. 2020-02-24 17:25:54 +00:00
Godzil 7c794f0496 Working on groups 2020-02-24 09:25:52 +00:00
Godzil f226664fe3 And cones ! 2020-02-23 02:31:30 +00:00
Godzil d87bbb184e And now we have cylinders! 2020-02-22 22:58:57 +00:00
Godzil b9bacd3ac9 Don't really understand why this code is marked as not being tested where it should. 2020-02-22 18:51:03 +00:00
Godzil 1d685de8fd Trying to identify why they say these lines are not tested 2020-02-22 18:29:47 +00:00
Godzil 9c35cfc4f3 Trying to fix coverage. 2020-02-22 18:21:30 +00:00
Godzil b251b632ac Add a parameter for shapes to not drop shadow. 2020-02-22 17:38:25 +00:00
Godzil 81e323fdf4 Added CUBES! 2020-02-22 17:30:15 +00:00
Godzil c9021974f6 Add a world generator based on another raytracer file format I made in the past and add a crude tool to run it.
it does not render properly, there are some major differences between both engine especially in the material definition. Will need more work, but is not urgent.
2020-02-22 15:16:25 +00:00
Godzil 4d4c4a7453 Add preliminary support for material emissivity.
Not yet sure it work as I intended.
2020-02-22 15:14:09 +00:00
Godzil 935c8ebff7 Add support for multiple lights 2020-02-22 15:12:06 +00:00
Godzil 51a6bbebb9 Refraction is fully there, with magic fresnel! 2020-02-22 01:27:48 +00:00
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 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 cf5597ad6d Adding shadows! 2020-02-20 17:46:03 +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 ba1ae34855 Canvas: use Tuple instead of Colour for put Pixel, add two constructor that may be usefull in the future. 2020-02-20 16:07:39 +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 14c3044acf Cosmetics 2020-02-20 13:27:12 +00:00
Godzil 999419dfe1 World is on the verge of working! 2020-02-20 01:41:53 +00:00
Godzil dbaa6eea2c Fix Intersect and add sort the list each time we add something to it. 2020-02-20 00:46:19 +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 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 c1e7496d21 Fix a glib problem on some distros. 2020-02-17 22:18:59 +00:00
Godzil 5ebed12f4f Add support for point light and materials.
Add material to objects.
2020-02-17 19:12:57 +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 00b283053e Add transformation to objects. 2020-02-17 14:15:55 +00:00
Godzil b799e5f819 Update a comment. 2020-02-17 13:57:07 +00:00
Godzil cabe7ff147 Change Ray to use the generic Tuple instead of Point/Vector (but you still should use Point/Vector for initialisation) 2020-02-17 13:54:07 +00:00
Godzil 17aebe6538 Move the cross product to Tuple instead of just vector (to ease some stuff later, but this is invalid on Points) 2020-02-17 13:53:30 +00:00
Godzil a1087a9871 Add default size to matrix (4 as it is the most common) 2020-02-17 13:52:28 +00:00