[Bf-committers] Re: [Bf-blender-cvs] CVS commit: blender/source/blender/blenlib BLI_rand.h blender/source/blender/blenlib/intern rand.c blender/source/blender/makesdna DNA_world_types.h blender/source/blender/render/extern/include render.h blender/source/blender/render/intern/source initrender.c ray.c rendercore.c ...

Ton Roosendaal ton at blender.org
Thu Aug 25 22:46:58 CEST 2005


Hi,

For rendering AO and softshadow, I had to set a seed per pixel, using  
BLI_srand it gave horrible patterns. Only the random() and srandom()  
did it fine. But I needed own code, for threadsafe random.

Hans; I think your random disappeared a long while ago, as part of  
cleaning up unused code. :) But, should be in our attic somewhere!

-Ton-


On 25 Aug, 2005, at 19:48, Daniel Dunbar wrote:

> The seeding was the same as drand48, shouldn't
> be too bad?
>
> Anyway, doesn't matter, but perhaps it is worth
> getting a real random number generator in Blender,
> Mersenne Twister is pretty popular and good I
> think. Is there reason to expect a quality gain?
>
> --- Ton Roosendaal <ton at blender.org> wrote:
>
>> ton (Ton Roosendaal) 2005/08/25 15:11:04 CEST
>>
>>   Modified files:
>>     blender/source/blender/blenlib BLI_rand.h
>>     blender/source/blender/blenlib/intern rand.c
>>     blender/source/blender/makesdna DNA_world_types.h
>>     blender/source/blender/render/extern/include render.h
>>     blender/source/blender/render/intern/source initrender.c ray.c
>>                                                 rendercore.c
>>     blender/source/blender/renderconverter/intern
>>                                                    
>> convertBlenderScene.c
>>     blender/source/blender/src previewrender.c
>>
>>   Log:
>>   Random() issues with rendering...
>>
>>   - AO and soft shadow AreaLight tables were generated without fixed  
>> seed,
>>     causing animations to give unwanted amounts of noise.
>>   - Made sure these tables now are calculated before render, with  
>> fixed seed
>>   - Then found out the BLI_rand() has very bad seeding... it showed  
>> up as
>>     patterns. After some experimenting, found a nice method using  
>> noise.c
>>     hash tables. For compatibility with old code, named it  
>> BLI_srandom() to
>>     use this next to the BLI_srand(). This follows libc rand() and  
>> random()
>>     naming convention.
>>   - Then of course threading should work... so made a BLI_thread_rand  
>> version
>>     of the calls. Now supports up to 16 threads, comments added in .h  
>> and .c
>>
>>   Result is stable animation render with AO and soft shadow. But,  
>> please
>>   test and feedback!
>>
>>   Revision  Changes    Path
>>   1.9       +19 -1     blender/source/blender/blenlib/BLI_rand.h
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/blenlib/BLI_rand.h.diff?r1=1.8&r2=1.9&cvsroot=bf-blender>
>>   1.8       +39 -3     blender/source/blender/blenlib/intern/rand.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/blenlib/intern/rand.c.diff?r1=1.7&r2=1.8&cvsroot=bf-blender>
>>   1.18      +3 -3       
>> blender/source/blender/makesdna/DNA_world_types.h
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/makesdna/DNA_world_types.h.diff?r1=1.17&r2=1.18&cvsroot=bf- 
> blender>
>>   1.17      +8 -1       
>> blender/source/blender/render/extern/include/render.h
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/render/extern/include/render.h.diff? 
> r1=1.16&r2=1.17&cvsroot=bf-blender>
>>   1.64      +3 -7       
>> blender/source/blender/render/intern/source/initrender.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/render/intern/source/initrender.c.diff? 
> r1=1.63&r2=1.64&cvsroot=bf-blender>
>>   1.62      +55 -81     
>> blender/source/blender/render/intern/source/ray.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/render/intern/source/ray.c.diff?r1=1.61&r2=1.62&cvsroot=bf- 
> blender>
>>   1.123     +16 -6      
>> blender/source/blender/render/intern/source/rendercore.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/render/intern/source/rendercore.c.diff? 
> r1=1.122&r2=1.123&cvsroot=bf-blender>
>>   1.161     +21 -9      
>> blender/source/blender/renderconverter/intern/convertBlenderScene.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/renderconverter/intern/convertBlenderScene.c.diff? 
> r1=1.160&r2=1.161&cvsroot=bf-blender>
>>   1.60      +2 -2      blender/source/blender/src/previewrender.c
>>
>>
> <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/ 
> blender/src/previewrender.c.diff?r1=1.59&r2=1.60&cvsroot=bf-blender>
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> Bf-blender-cvs at projects.blender.org
>> http://projects.blender.org/mailman/listinfo/bf-blender-cvs
>>
>
>
> daniel dunbar
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton at blender.org  
http://www.blender.org



More information about the Bf-committers mailing list