Godzil
b00bb75189
Huge speed up by changing how Intersect are shared.
2020-03-12 00:11:26 +00:00
Godzil
0aa949c60b
Continue working work optimiser.
2020-03-11 19:35:08 +00:00
Godzil
3a2d21b787
Starting to work on the World Optimiser sequence.
2020-03-11 09:09:30 +00:00
Godzil
441d758845
Add locking mechanism to prevent updating transform/parent
2020-03-10 13:55:27 +00:00
Godzil
5da0c10182
Started working on "world optimiser" base class.
...
The idea is to reorganise objets to take use of the them to prevent most object to be intersect if they are not likely to be on the ray path.
2020-03-10 09:18:15 +00:00
Godzil
b89f9ec331
Add a way to remove shapes from groups
2020-03-10 09:16:39 +00:00
Godzil
add3d7c861
A bit of cleanup
2020-03-10 09:15:38 +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
66a8b98aeb
Add missing code \o/
2020-03-09 15:59:52 +00:00
Godzil
314da11005
Add support for naming groups
2020-03-09 15:58:32 +00:00
Godzil
8437ab8753
Move ShapeType into the Shape object.
2020-03-09 15:57:23 +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
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
2725b5f657
Go a bit deeper in parsing the OBJ file. Now we parse each lines into token, and it's now ready to try to execute them.
2020-03-06 01:29:26 +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
30db4d7ca1
Add support to load JPEG files along with PNGs.
2020-03-05 15:14:31 +00:00
Godzil
6a2c5a77ae
Trying to implement image mapping.
...
Something not working yet.
2020-03-05 09:48:37 +00:00
Godzil
1b6c14691b
fmod is not mathematically valid. Replace it by a correct one.
2020-03-04 16:15:49 +00:00
Godzil
5c10d65c8d
Started working on 2D patterns.
2020-03-04 09:32:11 +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
21749695b6
Add jitter to area light and example render of it.
2020-03-02 14:03:31 +00:00
Godzil
ace7d53571
Clearing up some memory to prevent stupid issues
...
Preparing for some optimisations. (absolutely need to reduce the ammount of allocations done.)
2020-03-02 08:24:09 +00:00
Godzil
c4b680789e
Starting working on area lights.
2020-02-28 18:35:45 +00:00
Godzil
53f66b554b
Move renderstat function into the CPP file and add atomic to the variables.
2020-02-28 18:34:42 +00:00
Godzil
307c125eba
More bounding boxes
2020-02-28 18:33:59 +00:00
Godzil
b4ae737b40
Continuing working on dumping the world
2020-02-28 09:29:09 +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
a6f0422bd1
Add renderstat to get some info about rendering.
2020-02-27 17:20:55 +00:00
Godzil
7a96d42874
Add bounding box calculation to triangle..
...
Could be helpful XD
2020-02-26 02:17:57 +00:00
Godzil
1c00077949
Prepare code to be able to get material from some form of a "group leader".
2020-02-26 00:32:14 +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
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