POV-Ray : Newsgroups : povray.general : turning off mutual shadowing between objects Server Time
5 Jul 2024 11:40:56 EDT (-0400)
  turning off mutual shadowing between objects (Message 1 to 9 of 9)  
From: CAS
Subject: turning off mutual shadowing between objects
Date: 25 Aug 2014 03:25:00
Message: <web.53fae46957eb8dcf6a92a3a00@news.povray.org>
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!


Post a reply to this message

From: Thomas de Groot
Subject: Re: turning off mutual shadowing between objects
Date: 25 Aug 2014 03:36:38
Message: <53fae786$1@news.povray.org>
On 25-8-2014 9:23, CAS 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!
>
>

object {
    ...
    no_shadow
}

Thomas


Post a reply to this message

From: CAS
Subject: Re: turning off mutual shadowing between objects
Date: 25 Aug 2014 07:25:00
Message: <web.53fb1c922158d2866a92a3a00@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> On 25-8-2014 9:23, CAS 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!
> >
> >
>
> object {
>     ...
>     no_shadow
> }
>
> Thomas

Thank you!I have a try,but I have a confuse:
test2:
box
        {
        -1.55,1.55
        rotate y*-31
        translate<x1-center_x,y1-center_y,z1-center_z>
        pigment{color rgb ref}
        finish{ambient 0 diffuse 1}
         }

test3:
box
        {
        -1.55,1.55
        rotate y*-31
        translate<x1-center_x,y1-center_y,z1-center_z>
        pigment{color rgb ref}
        finish{ambient 0 diffuse 1}
        no_shadow
         }
why the results are the same when I add  no_shadow,which means turn off
 mutual shadowing between objects.


Post a reply to this message

From: Bald Eagle
Subject: Re: turning off mutual shadowing between objects
Date: 25 Aug 2014 10:15:01
Message: <web.53fb44dc2158d2865e7df57c0@news.povray.org>
no_shadow only stop an object from casting a shadow on anything else in the
scene.
If you don't want the other object to cast a shadow, then you need to add a
no_shadow modifier to that as well.




> why the results are the same when I add  no_shadow,which means turn off
>  mutual shadowing between objects.


Post a reply to this message

From: clipka
Subject: Re: turning off mutual shadowing between objects
Date: 25 Aug 2014 11:04:18
Message: <53fb5072$1@news.povray.org>
Am 25.08.2014 09:36, schrieb Thomas de Groot:
> On 25-8-2014 9:23, CAS 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!
>>
>>
>
> object {
>     ...
>     no_shadow
> }
>
> Thomas

or

   light_source {
     <X,Y,Z> colour rgb <R,G,B>
     shadowless
     ...
   }


Post a reply to this message

From: Alain
Subject: Re: turning off mutual shadowing between objects
Date: 25 Aug 2014 14:04:15
Message: <53fb7a9f@news.povray.org>

> 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


Post a reply to this message

From: CAS
Subject: Re: turning off mutual shadowing between objects
Date: 26 Aug 2014 01:15:00
Message: <web.53fc16bb2158d2866a92a3a00@news.povray.org>
Alain <kua### [at] videotronca> 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?


Post a reply to this message

From: clipka
Subject: Re: turning off mutual shadowing between objects
Date: 26 Aug 2014 08:14:58
Message: <53fc7a42$1@news.povray.org>
Am 26.08.2014 07:10, schrieb CAS:

> I want all objects have shadows themselves but have no mutual shadow between
> objects.How can I do?

Light groups might do the trick.


Post a reply to this message

From: Alain
Subject: Re: turning off mutual shadowing between objects
Date: 27 Aug 2014 20:51:38
Message: <53fe7d1a@news.povray.org>

> Alain <kua### [at] videotronca> 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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.