<feed xmlns='http://www.w3.org/2005/Atom'>
<title>godot.git/scene/3d/voxel_light_baker.cpp, branch 3.0.1-stable</title>
<subtitle>Godot Engine – Multi-platform 2D and 3D game engine https://godotengine.org</subtitle>
<id>https://git.neuromancer.sk/godot.git/atom/scene/3d/voxel_light_baker.cpp?h=3.0.1-stable</id>
<link rel='self' href='https://git.neuromancer.sk/godot.git/atom/scene/3d/voxel_light_baker.cpp?h=3.0.1-stable'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/'/>
<updated>2018-01-18T21:01:42Z</updated>
<entry>
<title>Fix typos in code and docs with codespell</title>
<updated>2018-01-18T21:01:42Z</updated>
<author>
<name>Rémi Verschelde</name>
</author>
<published>2018-01-18T20:37:17Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=9f479f096cb50fa8d1215e68c262f110116114ef'/>
<id>urn:sha1:9f479f096cb50fa8d1215e68c262f110116114ef</id>
<content type='text'>
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
</content>
</entry>
<entry>
<title>Restored multiplication by texture</title>
<updated>2018-01-11T23:47:04Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2018-01-11T23:47:04Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=c48aab2f05d931fbab6bf0702e81e45b5cd88aa1'/>
<id>urn:sha1:c48aab2f05d931fbab6bf0702e81e45b5cd88aa1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed extra multiplication in baker</title>
<updated>2018-01-11T23:23:41Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2018-01-11T23:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=eb16f9939a1ccb1e44d230f7ed2811ea55c25c34'/>
<id>urn:sha1:eb16f9939a1ccb1e44d230f7ed2811ea55c25c34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update copyright statements to 2018</title>
<updated>2018-01-01T13:40:47Z</updated>
<author>
<name>Rémi Verschelde</name>
</author>
<published>2018-01-01T13:40:08Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=b50a9114b105dafafdda8248a38653bca314a6f3'/>
<id>urn:sha1:b50a9114b105dafafdda8248a38653bca314a6f3</id>
<content type='text'>
Happy new year to the wonderful Godot community!
</content>
</entry>
<entry>
<title>Change the rotate function of Spatial to be local, makes more sense. Closes #14569</title>
<updated>2017-12-26T15:45:56Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2017-12-26T15:44:58Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=c1153f5041f896536957b851329b5adaa1de6dc4'/>
<id>urn:sha1:c1153f5041f896536957b851329b5adaa1de6dc4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>-Removed OpenMP support, replaced by a custom class.</title>
<updated>2017-12-24T12:32:12Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2017-12-24T12:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=021f3c924be29cafe9d8d50bf00ecc6f13675e87'/>
<id>urn:sha1:021f3c924be29cafe9d8d50bf00ecc6f13675e87</id>
<content type='text'>
-Disabled Opus, implementation is wrong.
</content>
</entry>
<entry>
<title>Prevent false sharing in lightbaker RNG state</title>
<updated>2017-12-20T13:37:00Z</updated>
<author>
<name>Hein-Pieter van Braam</name>
</author>
<published>2017-12-20T13:30:50Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=0db512354807318646ac9884f3702733a56b3bb1'/>
<id>urn:sha1:0db512354807318646ac9884f3702733a56b3bb1</id>
<content type='text'>
The previous commit corrected the RNG behavior for the lightbaker but
also made it significantly slower on high core count systems. Due to the
vector of states being physically close together in RAM we force a cache
synchronization across all cores whenever we call for the next random
number to be generated.

This will create a temporary local copy of the RNG state before entering
the loop and then saving it back to the global state when done. This
will preserve the per-thread RNG state (and random number quality) while
significantly improving performance.

On my 16 thread box it saves 3 minutes baking the Sponza scene, bringing
performance back in line to before the various RNG fixes were
introduced, being slightly faster than the first implementation.
</content>
</entry>
<entry>
<title>Fix lightmapper rng</title>
<updated>2017-12-20T11:09:09Z</updated>
<author>
<name>Hein-Pieter van Braam</name>
</author>
<published>2017-12-20T11:04:52Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=ccbb5923ac12f38b9bc47448a45340dd0534eabc'/>
<id>urn:sha1:ccbb5923ac12f38b9bc47448a45340dd0534eabc</id>
<content type='text'>
In our previous attempts to fix the lightmapper we may have
inadvertently introduced the same issue we were trying to fix. It
appears that rand() will on some platforms introduce a mutex making it
slower and on others may have a per-thread state that would need to be
initialized with srand() on each thread. This slows down the lightbaking
further.

This sets up a separate rng state for each OpenMP thread by calling
rand() only in the single-threaded part of the code. We then keep a
vector of states.

I believe this solves our problems.
</content>
</entry>
<entry>
<title>Correct license headers in main.cpp and voxel_light_baker.cpp</title>
<updated>2017-12-20T00:04:30Z</updated>
<author>
<name>Hein-Pieter van Braam</name>
</author>
<published>2017-12-20T00:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=7a10d3ab78975a95f55b1bf97705ff8cc300da08'/>
<id>urn:sha1:7a10d3ab78975a95f55b1bf97705ff8cc300da08</id>
<content type='text'>
Sorry for the churn
</content>
</entry>
<entry>
<title>Fix lightbaker clang-format issue and add license headers</title>
<updated>2017-12-20T00:02:03Z</updated>
<author>
<name>Hein-Pieter van Braam</name>
</author>
<published>2017-12-20T00:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=9fa5a588f0ad42c58b07b0c30bf56a29d59378bf'/>
<id>urn:sha1:9fa5a588f0ad42c58b07b0c30bf56a29d59378bf</id>
<content type='text'>
</content>
</entry>
</feed>
