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
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
1e2588441f
Rename tuple file to remove the plural.
...
Also add empty shell ray.
2020-02-15 23:18:04 +00:00
Godzil
1f4b14c896
Add a function to convert degree to radian.
2020-02-14 23:29:09 +00:00
Godzil
dee4b9ae91
Now we can transform!
2020-02-14 23:28:56 +00:00