Commit Graph

89 Commits

Author SHA1 Message Date
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