|
|
Peter Popov <pet### [at] vipbg> wrote in
news:bii78ugisrrqq0labhk54k2b2pl52cacmg@4ax.com:
> On Mon, 4 Mar 2002 19:15:21 +0100, "JRG" <jrg### [at] hotmailcom> wrote:
>
>>I don't think it's a good idea to have a flag which implies other
>>flags. Why should the shadowless flag imply media_interaction off? I
>>think each flag should be specific (that's why I'd personally love a
>>no_radiosity and a no_specular flag).
> Shadowless implies not casting shadows in scattering media. It should
> not imply media_interraction off. If it does, it sounds like a bug.
As far as the Megapov lighting code is concerned, shadowless doesn't set
media_interaction=off per say but has pretty much the same effect due to
the way media illumination is calculated.
At first glance, most of the fix is to modify test_shadow() in lighting.c
such that shadow tests are performed with shadowless lights (remove
(Light->Projected_Through_Object != NULL) from the shadow test conditional)
and then to adapt block_point_light() et el so that when handling
shadowless lights, filter_shadow_ray() is only called when the shadowed
object contains a media. Unless I've overlooked something major, both of
these tasks should be relatively straight forward.
Post a reply to this message
|
|