|
![](/i/fill.gif) |
> Alain <kua### [at] videotron ca> wrote:
>>> I want to generate a POV image NoShade(x,y).My question:how can I turn off
>>> mutual shadowing between objects?Can anyboby tell me how can I do? Thanks and
>>> expecting reply! Beg a hot!
>>>
>>>
>>
>> If you want a single object not to cast any shadow, add no_shadow to
>> that object.
>> That object will still receive shadows cast by other objects.
>>
>> If you don't want any objects to cast any shadow at all, add shadowless
>> to your light_source, all of them.
>>
>> If you want shadows cast on the ground but not on other objects, it can
>> get tricky.
>> You'll need to use light_group.
>> Have a general light_source and your ground, as well as any object that
>> you want to receive shadows, outside any light_group.
>> Place all your objects in a light_group. The light_source IN the
>> light_group are to be made shadowless.
>> To get consistent results, the global lights and those in the
>> light_group MUST be in the same locations.
>> It works because objects in a light_group, while not been illuminated by
>> global light_source, can still block their light, and can thus cast
>> shadows on objects that outside of the light_group.
>>
>> If you want no shadows and only need full illumination without any
>> shading, you can use +q0 on the command line. This force all textures to
>> have ambient 1, diffuse 0 and don't compute any light. As a bonus, it's
>> prety quick.
>>
>>
>> Alain
>
> I want all objects have shadows themselves but have no mutual shadow between
> objects.How can I do?
>
>
So, you want all objects to cast shadows on the ground/walls, but not on
any other object.
The problem:
All object that don't have no_shadow can cast shadows on any object,
even on objects in other light_group.
One possibility would be to #declare all objects beforehand. Those
objects should NOT have any pigment or texture.
If the objects are CSG objects with parts having different textures,
you'll need two instances: One textured and one not textured.
Place all objects in individual light_group.
The trick follow:
In EACH light_group, have two lights: The first been a normal
light_source, and the second identical but with the projected_through
light modifier that is set to project through an union of ALL other
untextured objects placed in exactly the same position with the exact
same scalling and rotation as those that are visible.
That way, that second light_source will exactly fill the shadows
possibly cast by by those other objects.
Finaly, have the global light_source cast the shadows on the ground or
wall(s).
It's important that ALL lights from all light_group to exactly match the
location and colour of the global light. If the global light is an
area_light, then all those on the light_group must also be area_light
with similar caracteristics.
Alain
Post a reply to this message
|
![](/i/fill.gif) |