Blender Git Loki
Git Commits -> Revision 32c51f3
Revision 32c51f3 by Ton Roosendaal (master) August 31, 2006, 10:36 (GMT) |
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. |
Commit Details:
Full Hash: 32c51f3338d2ddd7cec84c24aafb1cf7df410f5a
SVN Revision: 8424
Parent Commit: e2e6bce
Lines Changed: +127, -19
6 Modified Paths:
/source/blender/makesdna/DNA_lamp_types.h (+5, -1) (Diff)
/source/blender/render/intern/include/render_types.h (+2, -0) (Diff)
/source/blender/render/intern/source/convertblender.c (+3, -6) (Diff)
/source/blender/render/intern/source/shadbuf.c (+95, -2) (Diff)
/source/blender/render/intern/source/zbuf.c (+2, -1) (Diff)
/source/blender/src/buttons_shading.c (+20, -9) (Diff)
/source/blender/render/intern/include/render_types.h (+2, -0) (Diff)
/source/blender/render/intern/source/convertblender.c (+3, -6) (Diff)
/source/blender/render/intern/source/shadbuf.c (+95, -2) (Diff)
/source/blender/render/intern/source/zbuf.c (+2, -1) (Diff)
/source/blender/src/buttons_shading.c (+20, -9) (Diff)