Fix [#27748] undeterministic behaviour of volumetric renderer

* Made clearer in the UI that the approximate multiple scattering always enables light cache
* Fixed a potential problem in anisotropic scattering
This commit is contained in:
Matt Ebb 2011-06-25 00:33:36 +00:00
parent a03707d408
commit 826ed5ed1d
3 changed files with 2 additions and 2 deletions

@ -883,7 +883,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
sub = col.column() sub = col.column()
sub.enabled = True sub.enabled = True
sub.active = False sub.active = False
sub.prop(vol, "use_light_cache") sub.label("Light Cache Enabled")
col.prop(vol, "cache_resolution") col.prop(vol, "cache_resolution")
sub = col.column(align=True) sub = col.column(align=True)

@ -523,7 +523,6 @@ static void *vol_precache_part(void *data)
continue; continue;
} }
/* this view coordinate is very wrong! */
copy_v3_v3(shi->view, cco); copy_v3_v3(shi->view, cco);
normalize_v3(shi->view); normalize_v3(shi->view);
vol_get_scattering(shi, scatter_col, cco); vol_get_scattering(shi, scatter_col, cco);

@ -534,6 +534,7 @@ static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar,
if (luminance(lacol) < 0.001f) return; if (luminance(lacol) < 0.001f) return;
normalize_v3(lv);
p = vol_get_phasefunc(shi, shi->mat->vol.asymmetry, shi->view, lv); p = vol_get_phasefunc(shi, shi->mat->vol.asymmetry, shi->view, lv);
/* physically based scattering with non-physically based RGB gain */ /* physically based scattering with non-physically based RGB gain */