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
4b4d2b7819
Wow travis detected (by luck?) that uninitialised variable where one test failed in one specific configuration but no other one..
...
And thanks valgrind to give me a hint!
2020-02-20 02:01:35 +00:00
Godzil
999419dfe1
World is on the verge of working!
2020-02-20 01:41:53 +00:00
Godzil
be6b472472
Simplify hit search as now the list is ordered.
2020-02-20 01:40:50 +00:00
Godzil
aa078f4d46
Fix in world.
2020-02-20 00:47:02 +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
efe46e2864
Fix function prototype
2020-02-19 15:45:19 +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
88fcd48481
This test wasn't support to be there at first.
2020-02-17 23:29:50 +00:00
Godzil
5086a5c82f
Use file/glob instead of set to add source files
2020-02-17 23:02:38 +00:00
Godzil
c1e7496d21
Fix a glib problem on some distros.
2020-02-17 22:18:59 +00:00
Godzil
2e2d8c143c
Add travis, coverall and other things.
2020-02-17 21:56: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
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
9f2a41e6f3
Change default precision to float instead of double (need to investigate there)
...
Also add a way to dynamically change the precision (needed for some test that don't use non full precision result matrix)
2020-02-14 19:18:43 +00:00
Godzil
95c7616646
Moving some functions around to keep the header a bit more tidy
2020-02-14 17:52:47 +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
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
7b07106816
Add some nice math helping functions
2020-02-14 14:21:57 +00:00
Godzil
8144e38aa0
Add an empty main (for now)
2020-02-14 14:21:40 +00:00
Godzil
0caa4b8e34
Add all cmakelist files
2020-02-14 14:21:30 +00:00