Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2008-10-04 16:23:57 +0400
committerMatt Ebb <matt@mke3.net>2008-10-04 16:23:57 +0400
commit67a9d4154d520a98e572e98f680995fca701f728 (patch)
treec548b56b75d3cc87a92fbea7738d1aaf534386fb /source/blender/render/extern/include/RE_shader_ext.h
parente114d194ae44cb72aa52954f4fdeb67805a2c7c6 (diff)
* New volumetrics feature: scattering types
Otherwise known as a phase function, this determines in which directions the light is scattered in the volume. Until now it's been isotropic scattering, meaning that the light gets scattered equally in all directions. This adds some new types for anisotropic scattering, to scatter light more forwards or backwards towards the viewing direction, which can be more similar to how light is scattered by particles in nature. Here's a diagram of how light is scattered isotropically and anisotropically: http://mke3.net/blender/devel/rendering/volumetrics/phase_diagram.png The new additions are: - Rayleigh describes scattering by very small particles in the atmosphere. - Mie Hazy / Mie Murky more generalised, describes scattering from large particle sizes. - Henyey-Greenstein a very flexible formula, that can be used to simulate a wide range of scattering. It uses an additional 'Asymmetry' slider, ranging from -1.0 (backward scattering) to 1.0 (forward scattering) to control the direction of scattering. - Schlick an approximation of Henyey-Greenstein, working similarly but faster. And a description of how they look visually (just an omnidirectional lamp inside a volume box) http://mke3.net/blender/devel/rendering/volumetrics/phasefunctions.jpg * Sun/sky integration Volumes now correctly render in front of the new physical sky. Atmosphere still doesn't work correctly with volumes, due to something that i hope can be fixed in the atmosphere rendering, but the sky looks quite good. http://mke3.net/blender/devel/rendering/volumetrics/sky_clouds.png This also works very nicely with the anisotropic scattering, giving clouds their signature bright halos when the sun is behind them: http://mke3.net/blender/devel/rendering/volumetrics/phase_cloud.mov in comparison here's a render with isotropic scattering: http://mke3.net/blender/devel/rendering/volumetrics/phase_cloud_isotropic.png * Added back the max volume depth tracing limit, as a hard coded value - fixes crashes with weird geometry, like the overlapping faces around suzanne's eyes. As a general note, it's always best to use volume materials on airtight geometry, without intersecting or overlapping faces.
Diffstat (limited to 'source/blender/render/extern/include/RE_shader_ext.h')
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index 5d74895f0c8..16449df02b0 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -160,6 +160,7 @@ typedef struct ShadeInput
int samplenr; /* sample counter, to detect if we should do shadow again */
int depth; /* 1 or larger on raytrace shading */
+ int volume_depth; /* number of intersections through volumes */
/* stored copy of original face normal (facenor)
* before flipping. Used in Front/back output on geometry node */