Commit Graph

100 Commits

Author SHA1 Message Date
Godzil
1c4018e47a Cosmetics. 2020-03-11 16:56:03 +00:00
Godzil
441d758845 Add locking mechanism to prevent updating transform/parent 2020-03-10 13:55:27 +00:00
Godzil
b89f9ec331 Add a way to remove shapes from groups 2020-03-10 09:16:39 +00:00
Godzil
4e241a1871 Trying to make the dump a bit more usefull and slightly less cluttered 2020-03-09 17:41:11 +00:00
Godzil
15a861802a OBJFile now use group instead of it own list.
Change the group function to find group by name, and now name group when needed, and change tests to use group name instead of number.

Also now the default group is the base group, not a separate group.

Bonus: Add a destructor to cleanup memory
Added a function to get base group. OBJFile will still behave as a valid shape, but now we can skip it in the generated world by adding the base group instead.

Code is now cleaner.
2020-03-09 16:03:27 +00:00
Godzil
d514219ae6 Due to the way material are working now, we need to set by hand (for now) that the material is set. 2020-03-09 14:17:08 +00:00
Godzil
e653855556 Change World to use a base group instead of storing all the world object.
Makes the code simpler and avoid some potential issues. Add to change a bit some test to make them pass properly.
2020-03-09 13:47:42 +00:00
Godzil
8550d4068f Correct how filterIntersections work, seems c++ don't like how thing were done. 2020-03-09 13:44:10 +00:00
Godzil
cd93b67274 Revert some debug changes that should have not been commited. 2020-03-09 13:42:21 +00:00
Godzil
57eff4830e Sample scene for CSG \o/ 2020-03-06 21:55:32 +00:00
Godzil
b5ee92c544 And CSG! \o/
Still working on a nice scene for it.
2020-03-06 19:00:31 +00:00
Godzil
e57b5715e8 Smooth triangles! And support for them in the OBJ File parser.
Also add an interesting tea party scene!
2020-03-06 15:07:26 +00:00
Godzil
518ac260e1 OBJFile parser seems to work.
Can render a simple scene using it.

TODO: Need add way to set material to childs.
2020-03-06 09:38:39 +00:00
Godzil
c17bfadc76 Started working on parsing OBJ Files.
Why string manipulation is so tedious in C/++ :(
2020-03-05 17:46:40 +00:00
Godzil
3a8600d274 Add travis command to install ImageMagick on Mac OS X VMs 2020-03-05 15:58:03 +00:00
Godzil
90e79576a2 Correct the MD5 sum 2020-03-05 15:11:34 +00:00
Godzil
a31ae5b2ef Add download and copy of the earth texture map. 2020-03-05 15:09:26 +00:00
Godzil
2ebc177d9d Header update/corrections 2020-03-05 15:06:16 +00:00
Godzil
6a2c5a77ae Trying to implement image mapping.
Something not working yet.
2020-03-05 09:48:37 +00:00
Godzil
3ebe403de0 Continue working on Cube mapping 2020-03-05 00:10:39 +00:00
Godzil
f5685a45e1 Add AlignCheck UV Pattern 2020-03-04 16:42:43 +00:00
Godzil
7209244f48 Add cylindrical mapping! 2020-03-04 16:16:35 +00:00
Godzil
107b612130 Added planar mapping 2020-03-04 13:35:09 +00:00
Godzil
1ceabe7e62 Change CMake files to simplify them.
Also disable dorayme.cpp for now as it if wrongly taken in the rayonnement library.
2020-03-04 13:21:39 +00:00
Godzil
3e37b5ca44 Add spherical mapping for UV Textures. 2020-03-04 13:20:15 +00:00
Godzil
5c10d65c8d Started working on 2D patterns. 2020-03-04 09:32:11 +00:00
Godzil
36962275f6 Disable the second jittered test as I can't find a way to make them consistant (they fail depends on combination of OS/Compiler because of the way compiler work..) 2020-03-02 23:29:06 +00:00
Godzil
a1c53fc9cc Commited that file with incorrect size for automated test. 2020-03-02 23:16:17 +00:00
Godzil
344c36cd78 Remove frand from that scene. 2020-03-02 17:44:17 +00:00
Godzil
478b1f0af1 Disable a test as it is not consistent between compilers. 2020-03-02 17:41:04 +00:00
Godzil
aab9df0802 Add support for Lua in world, and create the Lua Pattern (pattern can be defined with a lua function) 2020-03-02 16:30:24 +00:00
Godzil
d05a0fb4d0 Update ch11 reflection scene to render the 3 different view 2020-03-02 14:09:30 +00:00
Godzil
21749695b6 Add jitter to area light and example render of it. 2020-03-02 14:03:31 +00:00
Godzil
0ac44c3539 Use area light and make a proper canvas size to run the size.
This test is eating memory like crazy. Need to see why.
2020-02-28 18:36:57 +00:00
Godzil
c4b680789e Starting working on area lights. 2020-02-28 18:35:45 +00:00
Godzil
307c125eba More bounding boxes 2020-02-28 18:33:59 +00:00
Godzil
c369d2fe2d Start working on dumping the world (to a JSON file) for debug purposes. 2020-02-27 18:03:08 +00:00
Godzil
0369bee306 It is christmas time! 2020-02-26 02:24:04 +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
831a096281 Continue working on bounding boxes. 2020-02-25 09:20:38 +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
80f59efa43 Add another hardcoded scene. Also made a test file for hw3 that should cover all the commands. 2020-02-23 19:37:47 +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
9c35cfc4f3 Trying to fix coverage. 2020-02-22 18:21:30 +00:00
Godzil
56095169eb Add a test for hw3render 2020-02-22 18:00:07 +00:00