diff options
author | Matt Ebb <matt@mke3.net> | 2007-10-24 16:42:08 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2007-10-24 16:42:08 +0400 |
commit | a9110ee0333b5dfc8af42919e53c7cd35e1f6cb1 (patch) | |
tree | 59ec2efcd073558e259caabc24ad40903fdd7120 /source/blender/makesdna/DNA_world_types.h | |
parent | 14bbff61fecf95c0cc9dc20a480985d599159470 (diff) |
* Adaptive QMC AO feature - "Adapt from speed vectors"
This is a new feature that can make using AO a lot more attractive when rendering
animations with vector blur. It uses the speed vector info calculated in the 'Vec'
speed vector pass, in order to reduce AO samples where pixels are moving more
quickly. There's not much point calculating all those AO samples when the result is
going to be smeared anyway, so you can save a bit of render time by doing
a more noisy render in those areas.
You can use this with a new slider in the Adaptive QMC settings 'Adapt Vec'. The
higher the value, the more aggressively it will reduce samples. 0.0 means no
reduction, and 1.0 reduces one sample per pixel of average displacement for that
pixel. 0.25 or so generally gives decent results, but it depends on how fast things
are moving.
Here's a demo (compare the final blurred result, and render times):
http://mke3.net/blender/devel/raytracing/adapt_speed_off2.jpg
http://mke3.net/blender/devel/raytracing/adapt_speed_on2.jpg
And a less contrived example, a short clip from macouno's 'petunia' bconf animation:
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-noblur-h264.mov
http://mke3.net/blender/devel/raytracing/petunia-adaptvec-blur-h264.mov
Diffstat (limited to 'source/blender/makesdna/DNA_world_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_world_types.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h index 769d11ecebe..9e5ec4cdb9a 100644 --- a/source/blender/makesdna/DNA_world_types.h +++ b/source/blender/makesdna/DNA_world_types.h @@ -103,8 +103,8 @@ typedef struct World { /* ambient occlusion */ float aodist, aodistfac, aoenergy, aobias; short aomode, aosamp, aomix, aocolor; - float ao_adapt_thresh; - float pad2[3]; + float ao_adapt_thresh, ao_adapt_speed_fac; + float pad2[2]; short ao_samp_method; short pad1[3]; |