diff options
author | Ton Roosendaal <ton@blender.org> | 2006-08-31 14:36:45 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-08-31 14:36:45 +0400 |
commit | 32c51f3338d2ddd7cec84c24aafb1cf7df410f5a (patch) | |
tree | 59e19afcf97a1427b99243a33a8aa776989b3f1f /source/blender/render/intern/include/render_types.h | |
parent | e2e6bce283b91eeaee4cb5e475831f4a92efbcb1 (diff) |
Render feature request:
Auto-clip Lamp Buffer
Setting a good range for clipping start/end for Lamp buffers is important
for good quality shadow (depth details). That can be quite a hassle, when
many lamps or animated objects are involved.
This option allows to have the clipping range calculated based on the
visible vertices in the spotbundle. For clip start and clip end it can
be set individually. Typically the clip start defines quality most.
The shadow buffer 'bias' value is corrected for this automatic clipping
too, to ensure that ranges that differ give same biasing appearance.
(If this wasn't done, you would see lighted areas become darker or
lighter, or even artefacts, when the range changes suddenly
NOTE: since it only checks for vertices, be aware that large planes can
give errors.
Implementation note: zbuffer values are non-linear (1/z) because that
allows linear interpolation while filling scanlines. That's the main
reason for the precision to be highest close to the eye (or lamp).
It's even a useful feature, since you want details to be precise
when they're closeby.
Since these values are also in the -1 to 1 range, using floats here
wouldn't solve problems a lot. Maybe trying a 64 bits Z once might
be an interesting coding job.
Diffstat (limited to 'source/blender/render/intern/include/render_types.h')
-rw-r--r-- | source/blender/render/intern/include/render_types.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 25ecf42b636..5ff00e7a72c 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -306,6 +306,8 @@ typedef struct LampRen float soft; /** amount of subsample buffers */ short buffers, filtertype; + /** autoclip */ + short bufflag; /** shadow plus halo: detail level */ short shadhalostep; /** Near clip of the lamp */ |