POV-Ray : Newsgroups : povray.general : silly features : Re: silly features Server Time
12 Aug 2024 01:30:49 EDT (-0400)
  Re: silly features  
From: Robert Dawson
Date: 10 Jun 1999 12:45:09
Message: <375feb95@news.povray.org>
Remco de Korte <rem### [at] xs4allnl> wrote in message
news:375CFE92.F4F027F2@xs4all.nl...
> I did it before and I'll do it again: suggest a new feature which will
probably
> be seen as silly and redundant. Anyway, I think it would be really "cool"
if you
> had the possibility to define by which lightsources an object is lit. So,
for
> instance, in a scene you have four light_sources lighting the scene, but
one
> "ghostly" object is only lit by one. This would mean you'd have to name
the
> lightsource (optional) and add an (optional) statement to an object like
> "lit_by" or something.
> I realize there are ways (especially with postprocessing) to do this
already,
> but I haven't found a convincing way yet. At this moment I could use such
an
> option, but seeing that I don't know how to get this effect I'll have to
drop
> it. Unless someone enlightens me... (tough luck ;-) )

    Here's how, for point light sources anyway.

    (1) Create a very small copy [say exactly 1/1000 scale] of your object.
If necessary change the texture to make it opaque and remove any no_shadows.

    (2) Translate it 999/1000 of the way towards the light-source that you
would like to block.

    You can do both of these at once, if the light source is at <X,Y,Z>, as
follows:

    object{WhereTheSunDontShine}
    object{WhereTheSunDontShine
                    translate<-X,-Y,-Z> /*light source to origin*/
                    scale 0.001         /*tiny & close to light */
                    translate<X,Y,Z>}    /*replace coordinates   */

    It will block exactly the cone of rays that would hit the object.

The same trick without the first object will cause a shadow to be cast
without anybody to cast it.

    -Robert Dawson


Post a reply to this message

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