 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi,
I was wondering if it was possible to tell an object to cast no reflection?
Probably much like a "vampire effect" ;) or like the media_interaction or
cast_shadow in lights... etc...
Any ideas?
Thanks,
Simon
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3A0DE308.EC379B17@yahoo.com>, lem### [at] yahoo com wrote:
> I was wondering if it was possible to tell an object to cast no
> reflection?
> Probably much like a "vampire effect" ;) or like the media_interaction or
> cast_shadow in lights... etc...
"cast_shadow"? You mean "shadowless"? Or was it "no_shadow", I can never
remember which one is used for light_sources...
I think what you want is the "no_reflection" keyword in
MegaPOV...standard POV doesn't have special support for this feature,
you have to trick it by using fancy bounding.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris Huff wrote:
>
> standard POV doesn't have special support for this feature,
> you have to trick it by using fancy bounding.
>
Specifically, bound the object with very small boxes/spheres near (or around)
the camera, and any light_sources that you want this object to interact with.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris Huff wrote:
> "cast_shadow"? You mean "shadowless"? Or was it "no_shadow", I can never
> remember which one is used for light_sources...
The way I remember is that no_shadow is singular but shadowless can be plural.
So no_shadow is for objects and shadowless is for lights.
> I think what you want is the "no_reflection" keyword in
> MegaPOV...standard POV doesn't have special support for this feature,
> you have to trick it by using fancy bounding.
Interesting, I never thought of that. You mean like bound it with a polygon
that from the camera's viewpoint contains the object?
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Margus Ramst wrote:
> Specifically, bound the object with very small boxes/spheres near (or around)
> the camera, and any light_sources that you want this object to interact with.
Ah...
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
David Fontaine wrote:
> > I think what you want is the "no_reflection" keyword in
> > MegaPOV...standard POV doesn't have special support for this feature,
> > you have to trick it by using fancy bounding.
>
> Interesting, I never thought of that. You mean like bound it with a polygon
> that from the camera's viewpoint contains the object?
That's right, I forgot lights...
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Specifically, bound the object with very small boxes/spheres near (or around)
> the camera, and any light_sources that you want this object to interact with.
Interesting, so, will doing these bounding boxes hack make my object appear in
front of the camera but not in the mirror beside it?
Thanks,
Simon
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Simon Lemieux wrote:
>
> Hi,
> I was wondering if it was possible to tell an object to cast
> no reflection? Probably much like a "vampire effect" ;) or like the
> media_interaction or cast_shadow in lights... etc...
I think the way to do it is to give it a bounding object that surrounds
the camera viewpoint. This way the reflected rays miss the bounding
object and cause it to not appear.
object {
Vampire
bounded_by { sphere { CameraLocation,.01 } }
}
Rays from the camera will always intersect the sphere, hence the
object will directly appear; but the reflected rays will almost
certainly miss that sphere, causing the object to not appear in the
reflection.
Regards,
John
--
ICQ: 46085459
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> I think the way to do it is to give it a bounding object that surrounds
> the camera viewpoint. This way the reflected rays miss the bounding
> object and cause it to not appear.
>
> object {
> Vampire
> bounded_by { sphere { CameraLocation,.01 } }
> }
>
> Rays from the camera will always intersect the sphere, hence the
> object will directly appear; but the reflected rays will almost
> certainly miss that sphere, causing the object to not appear in the
> reflection.
Very interesting!... But... it doesn't seem to work...
I tried the simplified scene with a white sphere and a mirror, the bounded_by is
set to the camera position, everything seems alright, but I see two spheres...
Do I need any other keywords in order to make this work?
Thanks,
Simon
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3A0E1A03.3FEA6199@faricy.net>, David Fontaine
<dav### [at] faricy net> wrote:
> The way I remember is that no_shadow is singular but shadowless can be
> plural.
> So no_shadow is for objects and shadowless is for lights.
But if you have more than one light, you object has as many shadows as
you have light sources...
> Interesting, I never thought of that. You mean like bound it with a
> polygon that from the camera's viewpoint contains the object?
Bound it with a union of spheres or boxes, one around the camera and one
around each light that you want it to interact with.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3A0E4D2F.367F2933@yahoo.com>, lem### [at] yahoo com wrote:
> Very interesting!... But... it doesn't seem to work...
>
> I tried the simplified scene with a white sphere and a mirror, the
> bounded_by is set to the camera position, everything seems alright,
> but I see two spheres...
>
> Do I need any other keywords in order to make this work?
Don't forget the light sources...
Hmm, you probably need to tell POV not to ignore your bounding. On the
Mac it is just a checkbox, you will probably have to put something in
your .ini file.
I think it went this way: the earliest versions of POV didn't do
automatic bounding, so it was all manual. When autobounding was added,
it sometimes did a better job than manual bounding, so an option to
override manual bounding was added. I think this option is on in your
case.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Simon Lemieux wrote:
>
> Interesting, so, will doing these bounding boxes hack make my object appear in
> front of the camera but not in the mirror beside it?
>
It should, yes.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Don't forget the light sources...
> Hmm, you probably need to tell POV not to ignore your bounding. On the
> Mac it is just a checkbox, you will probably have to put something in
> your .ini file.
> I think it went this way: the earliest versions of POV didn't do
> automatic bounding, so it was all manual. When autobounding was added,
> it sometimes did a better job than manual bounding, so an option to
> override manual bounding was added. I think this option is on in your
> case.
Did it for the lights, did it for the switch, still doesn't work...
Anyway, I checked this, it shouldn't work anyway, since the very small sphere
will be seen in the other mirror...
try this:
#declare CameraLocation = <0,1,2>
camera {
location CameraLocation
look_at <0, 0, -1>
}
// no light source
plane { <0,0,1>, 0 pigment {rgb <1,1,0>} finish {reflection 1}}
sphere { <0,0,1>, 0.5 pigment {rgb 1} finish {ambient 1}
//bounded_by { sphere { CameraLocation ,.1 } }
}
----------
remove the comment before the "bounded_by" and you should get the same image, at
least that's what I got... :/ Is there something else missing?
Thanks,
Simon
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Simon Lemieux wrote:
>
> Did it for the lights, did it for the switch, still doesn't work...
>
Your example works as expected here (i.e. the reflection disappears). Did you
use the command-line switch correctly? -UR will turn off user bounds removal
(note the minus sign before the switch to turn a feature off, the plus sign will
turn it on).
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Wasn't it Simon Lemieux who wrote:
>Hi,
> I was wondering if it was possible to tell an object to cast no
>reflection?
>Probably much like a "vampire effect" ;) or like the media_interaction or
>cast_shadow in lights... etc...
MegaPOV has a "no_reflection" object modifier that does exactly that.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Sun, 12 Nov 2000 02:00:57 +0200 Margus Ramst wrote:
>Specifically, bound the object with very small boxes/spheres near (or around)
>the camera, and any light_sources that you want this object to interact with.
I seem to recall Warp posting a bunch of really neat demo images using
this technique at least one year ago in p.b.i.
--
Alan - ako### [at] povray org - a k o n g <at> p o v r a y <dot> o r g
http://www.povray.org - Home of the Persistence of Vision Ray Tracer
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Your example works as expected here (i.e. the reflection disappears). Did you
> use the command-line switch correctly? -UR will turn off user bounds removal
> (note the minus sign before the switch to turn a feature off, the plus sign will
> turn it on).
Duh... sorry for this stupid mistake of mine!... I did add the switch but with
a + -> +UR and it does work! So I'll try with my current scene that needs the
vampire effect and I'll post any good result shortly!
Thank you very much!
Simon
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris Huff <chr### [at] mac com> wrote:
: Bound it with a union of spheres or boxes, one around the camera and one
: around each light that you want it to interact with.
That has only one slight problem: Povray will test for that object in
every pixel. If it's a slow object, it will slow the rendering of the
whole image.
A more accurate bounding is possible by projecting the bounding box very
close to the camera/light source but still covering just the area which the
object takes.
This projection sounds quite complicated and mathematically challenging,
but it's surprisingly easy:
bounded_by
{ object
{ ... // your optimal bounding object around the object as usual
translate -Camera_Location
scale .001 // or whatever very small value; should be small enough
translate Camera_Location
}
}
I know that although it looks extremely simple, it's very hard to see
why this works. If you think about it long enough, you'll figure out why
it works.
For light_source bounding just put that one in a union and add the same
object but make the transformations with the light_source location.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> bounded_by
> { object
> { ... // your optimal bounding object around the object as usual
> translate -Camera_Location
> scale .001 // or whatever very small value; should be small enough
> translate Camera_Location
> }
> }
>
> I know that although it looks extremely simple, it's very hard to see
> why this works. If you think about it long enough, you'll figure out why
> it works.
I see exactly why it works :)
When you scale an object smaller it not only gets smaller but gets closer to
the origin, which has been moved to the camera location. It gets smaller at the
same rate it gets bigger from the viewpoint of the origin (camera), if I'm
picturing this right.
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> I see exactly why it works :)
> When you scale an object smaller it not only gets smaller but gets closer to
> the origin, which has been moved to the camera location. It gets smaller at the
> same rate it gets bigger from the viewpoint of the origin (camera), if I'm
> picturing this right.
Actually, as I figured it is the size doesn't matter (unless POVray doesn't like
to deal with nanoscopic numbers) all that matters is that whatever the size the
camera (which is actually a perfectly precise point) will always be _inside_ the
sphere or the object that is not a point... A real point (i think) should be
like a sphere { Loc, 0 } so to contain that point, all you need is a sphere {
Loc, >0 } (note that radius is >0 not >=0)...
If I understood this right, this should be right, but I'm not absolutely sure...
--
+-------------------------+----------------------------------+
| Simon Lemieux | Website : http://www.666Mhz.net |
| Email : Sin### [at] 666Mhz net | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
In article <3a100021@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> I know that although it looks extremely simple, it's very hard to see
> why this works. If you think about it long enough, you'll figure out why
> it works.
What about cameras other than perspective which don't originate from a
single point?
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris Huff <chr### [at] mac com> wrote:
: What about cameras other than perspective which don't originate from a
: single point?
May not work. If the rays don't originate form a single point, then the
other method may not work either.
Also area ligths may cause problems.
Btw, forgot to mention in my post that you should not transform the object
after the bounding box has been applied (the transformation would move
the bounding box out of the way).
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
>
> May not work. If the rays don't originate form a single point, then the
> other method may not work either.
> Also area ligths may cause problems.
>
The other method (placing the object around camera/light) should still work, in
most cases.
AFAIK the only projections where the camera origin moves are orthographic and
cylindrical 3 & 4. Orthographic will be a problem since the bounding box around
the camera will have to relatively (as large as the up & right vectors). For
cylindrical projection you can use a very thin cylinder around the camera axis,
so there is little likelyhood of reflected rays hitting it.
Area_lights can have the same problem as orthographic camera, but they generally
fill a smaller area of the sky, so problems are less likely.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |