When I created a lamp module back in 2005, I was faced with the problem
of how to convincingly model the occlusion by the hood without requiring
an area light. The sharp shadow edge in the 2nd, 4th, and 9th frames
show what I was trying to avoid. A spotlight with a falloff would seem
to be the obvious solution, except that a receded light bulb would cause
an abrupt cutoff anyway, and it would also leave the interior of the
hood unlit. I could easily calculate a proper falloff to avoid the
abrupt cutoff, but since the bulb is an extended object (the reason for
the falloff in the first place), the less recessed part of the bulb
would be unaccounted for.
My solution back then was to situate a spotlight at the outer tip of the
bulb, and use a light group to light the interior of the hood. But this
obviously distorts the illuminance level of objects in front of the lamp
and the geometry of lighting and shadows of objects toward the sides of
the lamp. In my current project, I tried fudging the brightness and
fade distance of the light_source, but I couldn't get a reasonable match
to the desired attenuation curve.
Rather than continue to try to square that circle, I decide to go back
to the solution I rejected in 2005: stick with the recessed light
source, and have the user request an area light for production renders.
The light group with the hood interior would be unnecessary.
But my 2005 lamp did not have realistic attenuation or surface
brightness. When I created my lamp place holder in 2015, I used
realistic attenuation, but then discovered that the increased
illumination of the hood interior caused horrible radiosity artifacts
throughout the scene. To fix this, I set no_radiosity on the lamp; but
this meant that the impact of the hood's radiosity would have to be
replaced somehow. For this, I will use a spotlight flush with the hood
opening. (The importance option doesn't fix the radiosity artifacts; it
makes them worse.)
The only problem now is that no_radiosity is unavailable prior to
POV-Ray 3.7. I am allowing a user-determined maximum surface brightness
to mitigate this, but that comes with its own complications. I am of
the mind to *recommend* 3.7 or later, but allow 3.6 and 3.5.
The upper middle frame would be ideal for the direct light and hood
reflection combined, if not for the radiosity artifacts. The lower left
frame shows my final model with the direct light and faked hood
radiosity. (Radiosity artifacts are minimal in this suite because the
room is only 80 cm across. A realistically-sized room would show the
uneven illumination in the 2nd, 3rd, and 6th frames as a mass of
horrible white splotches, unless an insane count is used.)
Post a reply to this message
Download 'model_occluded_light-pbi.jpg' (179 KB)
Preview of image 'model_occluded_light-pbi.jpg'
On 2021-03-21 9:27 AM (-4), Bald Eagle wrote:
> Just a simple-minded idea for a solution:
> Will adding emission to the bulb and hood interior not work?
> You could tie its value to the brightness of the light source.
That's the idea, but no_radiosity has to be set on these surfaces.
Radiosity should naturally be shut off for the bulb, otherwise the scene
gets double the illumination that it should. But no_radiosity is set on
the hood interior _only_ to avoid artifacts, so this radiosity must be
The replacement of the hood interior radiosity is complex. The emission
on the hood must be estimated from self-reflection from other parts of
the hood interior, but _not_ from the bulb, since the light source takes
care of that. The hood interior spotlight, on the other hand, must
consider both the illumination of the hood by the light source and the
self-reflection of the hood.
Post a reply to this message