Commit Graph

38 Commits

Author SHA1 Message Date
Godzil
2e2d8c143c Add travis, coverall and other things. 2020-02-17 21:56:59 +00:00
Godzil
a8ca88640b Add GPLv2 strict license 2020-02-17 21:28:55 +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.
Chapter06
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. Chapter05 2020-02-17 14:30:21 +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
513cd9d7eb Update glfw, googletest and lodepng submodules to their latest version 2020-02-17 11:19:53 +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
1f4b14c896 Add a function to convert degree to radian. 2020-02-14 23:29:09 +00:00
Godzil
dee4b9ae91 Now we can transform! Chapter04 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.
Chapter03
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 Chapter02 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. Chapter01 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
Godzil
e2643d677d Update .gitignore 2020-02-14 14:21:07 +00:00
Godzil
d7a2f487cb Working on the project skeleton, and add external dependencies that may come handy 2020-02-11 14:16:30 +00:00
Godzil
cbcc797539 first commit 2020-02-07 11:52:16 +00:00