Random() issues with rendering...
authorTon Roosendaal <ton@blender.org>
Thu, 25 Aug 2005 13:11:04 +0000 (13:11 +0000)
committerTon Roosendaal <ton@blender.org>
Thu, 25 Aug 2005 13:11:04 +0000 (13:11 +0000)
commit8d940dfafe577ea92c279cc41e791b0012c78d2b
tree88d286b2bc9ad136e7f96661fcd802d2811a52f2
parentc9f01eefcd3c21da95c7245a6b1f54ceae4024b1
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!
source/blender/blenlib/BLI_rand.h
source/blender/blenlib/intern/rand.c
source/blender/makesdna/DNA_world_types.h
source/blender/render/extern/include/render.h
source/blender/render/intern/source/initrender.c
source/blender/render/intern/source/ray.c
source/blender/render/intern/source/rendercore.c
source/blender/renderconverter/intern/convertBlenderScene.c
source/blender/src/previewrender.c