Godzil
8437ab8753
Move ShapeType into the Shape object.
2020-03-09 15:57:23 +00:00
Godzil
efa47f28ca
Fix some potential buffer overflow issues.
...
Not critical, but better to avoid them!
2020-03-09 14:16:05 +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
1510de3b36
Change CSG to derive the intersect function and do the calculation there instead of the local one.
...
Also use the bounding box to reject ray that don't it that CSG element.
2020-03-09 13:45:57 +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
18965fe1bd
They say it is better to do this way.
2020-03-06 21:59:16 +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
2488cc6319
Seems long ago I forgot to update/correct the local boudingbox calculation for triangles....
2020-03-06 09:39:33 +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
6bef6a1b77
over 9000 years of shame on me.
...
What where I thinking when I wrote that?!
2020-03-05 16:28:49 +00:00
Godzil
f8aa5cc920
Fix a "bug" in UV Image introduced while debugging
2020-03-05 15:15:20 +00:00
Godzil
30db4d7ca1
Add support to load JPEG files along with PNGs.
2020-03-05 15:14:31 +00:00
Godzil
317148a37d
Lua include is only added if lua support is enabled.
...
Add NanoJPEG dependency to the main library
2020-03-05 15:13:40 +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
1b6c14691b
fmod is not mathematically valid. Replace it by a correct one.
2020-03-04 16:15:49 +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
3cfbb604b0
Fix missing includes.
2020-03-02 23:34:44 +00:00
Godzil
478b1f0af1
Disable a test as it is not consistent between compilers.
2020-03-02 17:41:04 +00:00
Godzil
1cebcd4f8b
Fix my own stupidity.
2020-03-02 16:49:10 +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
8ceb68fdff
Add dependencies to Lua.
2020-02-28 00:05:14 +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
2926166ce6
Add Lua dependencies.
...
Lua is going to be used for both scene description (it will also provide a YAML importer) and some future expansion in the code. Expect some fun surprises!
(just playing with lua on the main app for now)
2020-02-27 17:24:40 +00:00
Godzil
e61382a129
Doh, this was suppose to be the other way around: add to the bound IF it have finit bounds!
2020-02-27 17:22:47 +00:00
Godzil
a6f0422bd1
Add renderstat to get some info about rendering.
2020-02-27 17:20:55 +00:00
Godzil
a4ddfddbf3
Found the problem with openmp.
...
X here need to be declared as private, else each thread are sharing the same variable which... well.... don't work well .. :/
2020-02-26 16:09:28 +00:00
Godzil
f1849cdbc1
Pow is way too slow.
2020-02-26 16:08:34 +00:00
Godzil
ed347e304d
Quick (and dirty) change to be able to use OpenMP for rendering.
2020-02-26 02:18:54 +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
831a096281
Continue working on bounding boxes.
2020-02-25 09:20:38 +00:00