Godzil
71c236abb0
Better to fill the function I suppose.
2020-03-17 00:31:30 +00:00
Godzil
c0fc061834
Don't set the focal/aperture on the constructor and use a dedicated method for that.
2020-03-17 00:28:56 +00:00
Godzil
61ce9d3543
Add possibility to play with focal length and aperture to the camera. Not enabled by default.
2020-03-17 00:23:16 +00:00
Godzil
9849c16f66
Couple of small optimisation
...
Add option to build for gprof
Do not build by default with the renderstat (they have a reasonable impact on performances)
Separated created ray and castedray in the stats
Trying to force some simple function to be inlined
2020-03-13 18:22:35 +00:00
Godzil
aacd4f6c9e
Make BVH and Octree to not flatten the world before parsing
...
It may help a lot on some scene that already use groups.
So each exiting group have their own BVH or Octree in.
It does help a lot on already organised scene like the Christmas balls.
2020-03-13 01:07:28 +00:00
Godzil
5b6b627a43
Small but effective optimisations.
...
Allow inlining the function helps a bit!
2020-03-13 01:04:56 +00:00
Godzil
c858b4dcde
A new scene and some optimisations.
2020-03-12 17:45:29 +00:00
Godzil
7a43a98816
Adding BVH optimisation.
2020-03-12 07:21:44 +00:00
Godzil
47e31714f3
That file was supposed to be there XD
2020-03-12 00:14:50 +00:00
Godzil
424d58c59b
Octree Optimiser seems to work.
...
Well.. There are a couple of weird things happening, need to investigate, but it's not that easy when scene start to be complicated :/
2020-03-12 00:14:00 +00:00
Godzil
5996e38e6e
Fix my own stupidity..
2020-03-12 00:11:48 +00:00
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
420203e95d
Add a tool to debug the normal vector in objfiles by rendering them.
2020-03-11 16:59:02 +00:00
Godzil
c667ce26d7
Fix a bug in objfile where OBJ file were not the parent of the base group.
2020-03-11 16:57:49 +00:00
Godzil
13cc2c0ff9
Add more useful dump info for shapes
2020-03-11 16:56:38 +00:00
Godzil
083a5b600f
typo
2020-03-11 16:54:46 +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
0f945b69cc
World default group now have a name!
...
Fancy!
2020-03-09 15:58:59 +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
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