{"action":"created","issue":{"url":"https://api.github.com/repos/godotengine/godot/issues/6683","repository_url":"https://api.github.com/repos/godotengine/godot","labels_url":"https://api.github.com/repos/godotengine/godot/issues/6683/labels{/name}","comments_url":"https://api.github.com/repos/godotengine/godot/issues/6683/comments","events_url":"https://api.github.com/repos/godotengine/godot/issues/6683/events","html_url":"https://github.com/godotengine/godot/pull/6683","id":180525271,"number":6683,"title":"baked light baker : improves randomness","user":{"login":"SuperUserNameMan","id":9801802,"avatar_url":"https://avatars.githubusercontent.com/u/9801802?v=3","gravatar_id":"","url":"https://api.github.com/users/SuperUserNameMan","html_url":"https://github.com/SuperUserNameMan","followers_url":"https://api.github.com/users/SuperUserNameMan/followers","following_url":"https://api.github.com/users/SuperUserNameMan/following{/other_user}","gists_url":"https://api.github.com/users/SuperUserNameMan/gists{/gist_id}","starred_url":"https://api.github.com/users/SuperUserNameMan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SuperUserNameMan/subscriptions","organizations_url":"https://api.github.com/users/SuperUserNameMan/orgs","repos_url":"https://api.github.com/users/SuperUserNameMan/repos","events_url":"https://api.github.com/users/SuperUserNameMan/events{/privacy}","received_events_url":"https://api.github.com/users/SuperUserNameMan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/godotengine/godot/labels/enhancement","name":"enhancement","color":"44bbff"},{"url":"https://api.github.com/repos/godotengine/godot/labels/topic:editor","name":"topic:editor","color":"ffdd44"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/godotengine/godot/milestones/4","html_url":"https://github.com/godotengine/godot/milestones/3.0","labels_url":"https://api.github.com/repos/godotengine/godot/milestones/4/labels","id":1449702,"number":4,"title":"3.0","description":"","creator":{"login":"akien-mga","id":4701338,"avatar_url":"https://avatars.githubusercontent.com/u/4701338?v=3","gravatar_id":"","url":"https://api.github.com/users/akien-mga","html_url":"https://github.com/akien-mga","followers_url":"https://api.github.com/users/akien-mga/followers","following_url":"https://api.github.com/users/akien-mga/following{/other_user}","gists_url":"https://api.github.com/users/akien-mga/gists{/gist_id}","starred_url":"https://api.github.com/users/akien-mga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akien-mga/subscriptions","organizations_url":"https://api.github.com/users/akien-mga/orgs","repos_url":"https://api.github.com/users/akien-mga/repos","events_url":"https://api.github.com/users/akien-mga/events{/privacy}","received_events_url":"https://api.github.com/users/akien-mga/received_events","type":"User","site_admin":false},"open_issues":172,"closed_issues":44,"state":"open","created_at":"2015-12-08T11:42:08Z","updated_at":"2016-10-11T09:34:42Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2016-10-02T18:02:54Z","updated_at":"2016-10-11T10:30:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/godotengine/godot/pulls/6683","html_url":"https://github.com/godotengine/godot/pull/6683","diff_url":"https://github.com/godotengine/godot/pull/6683.diff","patch_url":"https://github.com/godotengine/godot/pull/6683.patch"},"body":"see #6682\r\n\r\nreplace ``rand()`` by a thread-safe and thread-seeded RNG.\r\n\r\n~~the C++11 ``<random>`` lib is available on MSVC since version 2010.\r\ntested with MSVC2015.\r\nhave not tested with MinGW nor GCC.~~ (edit : C++11 rand() is still experimental with gcc 4.6.3, so replaced it by public domain implementations of others RNG.)\r\n\r\n------ edit ----------\r\n\r\nSo I've put different algorithms that can be easily changed at compile time by defining one of these preprocessor variable :\r\n````\r\nBAKER_RNG_USE_C_RAND\r\nBAKER_RNG_USE_XONOROSHI128PLUS\r\nBAKER_RNG_USE_XORSHIFT128\r\nBAKER_RNG_USE_XORSHIFTSTAR\r\nBAKER_RNG_USE_XORSHIFTPLUS\r\nBAKER_RNG_USE_MT19937\r\nBAKER_RNG_USE_CXX11_MT19937\r\nBAKER_RNG_USE_XORSHIFT32\r\n````\r\n\r\nSome are more optimized for 64bits, some others for 32bits.\r\nSome are more optimized for MSVC, some others for GCC.\r\nSome have relatively low periodicity, some others relatively higher one.\r\n\r\nDefault is set to BAKER_RNG_USE_MT19937.\r\n\r\nnote : \r\n- BAKER_RNG_USE_C_RAND is the default ``rand()``.\r\nIt is guaranteed to be multithread-safe only with MSVC.\r\nIt is slightly faster than others RNG, but it has a RAND_MAX of only 0x7FFF, is based on an unknown underlying algorithm with an unknown periodicity.\r\n- BAKER_RNG_USE_CXX11_MT19937 is the standard C++11 std::mt19937.\r\nIt is still experimental on GCC 4.6.3, and is fully supported by MSVC.\r\n"},"comment":{"url":"https://api.github.com/repos/godotengine/godot/issues/comments/252873561","html_url":"https://github.com/godotengine/godot/pull/6683#issuecomment-252873561","issue_url":"https://api.github.com/repos/godotengine/godot/issues/6683","id":252873561,"user":{"login":"SuperUserNameMan","id":9801802,"avatar_url":"https://avatars.githubusercontent.com/u/9801802?v=3","gravatar_id":"","url":"https://api.github.com/users/SuperUserNameMan","html_url":"https://github.com/SuperUserNameMan","followers_url":"https://api.github.com/users/SuperUserNameMan/followers","following_url":"https://api.github.com/users/SuperUserNameMan/following{/other_user}","gists_url":"https://api.github.com/users/SuperUserNameMan/gists{/gist_id}","starred_url":"https://api.github.com/users/SuperUserNameMan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SuperUserNameMan/subscriptions","organizations_url":"https://api.github.com/users/SuperUserNameMan/orgs","repos_url":"https://api.github.com/users/SuperUserNameMan/repos","events_url":"https://api.github.com/users/SuperUserNameMan/events{/privacy}","received_events_url":"https://api.github.com/users/SuperUserNameMan/received_events","type":"User","site_admin":false},"created_at":"2016-10-11T10:30:28Z","updated_at":"2016-10-11T10:30:28Z","body":"@tagcup :\r\n\r\n> Can you clarify what you mean by \"list\"?\r\n\r\nI've put different PRNG into this PR so that people can test and benchmark the baked light baker with different PRNG.\r\nPerformance and quality of each PRNG can vary depending on platform and compiler.\r\n\r\nBy default, this is a 32bits MT19937 that is selected.\r\nBut it can be replaced at compile time by an other PRNG by defining one of the  ``BAKER_RNG_USE_xxxx``.\r\n\r\nSo, what i mean, is that i will add PGC to the list of these PRNG, into this PR.\r\n\r\n\r\n"}}
{"actor":{"display_login":"SuperUserNameMan"}}