|
|
Mike Williams wrote:
>> Is it possible to create a surface which - when hit by a ray - simply
>> transmits
>> the ray out of another surface? I'm trying to create an effect similar
>> to that
>> in the video game "Portal".
>
> There was a MegaPov that had such a feature. It was introduced in
> MegaPov 1.1 as a pigment called camera_view. You paint a Portal with the
> camera_view pigment and the colour of its surface is the view seen from
> the specified camera.
Also, as far as I understand it, this is just a convenience
pigment the effect of which can be obtained by rendering in
two passes and loading the portal image as an image_map for
the second render if you don't wish to use MegaPOV.
Although both of these would not be real portals as the view
point is fixed, which would be noticable if the portal is reflected
from another direction. Hmm if the input angles are sufficiently
disjoint you could map two camera_views with the aoi pattern,
although that is also not (yet?) in the official version.
Post a reply to this message
|
|
|
|
> Mike Williams wrote:
>
>>> Is it possible to create a surface which - when hit by a ray - simply
>>> transmits
>>> the ray out of another surface? I'm trying to create an effect
>>> similar to that
>>> in the video game "Portal".
>>
>> There was a MegaPov that had such a feature. It was introduced in
>> MegaPov 1.1 as a pigment called camera_view. You paint a Portal with
>> the camera_view pigment and the colour of its surface is the view seen
>> from the specified camera.
>
> Also, as far as I understand it, this is just a convenience
> pigment the effect of which can be obtained by rendering in
> two passes and loading the portal image as an image_map for
> the second render if you don't wish to use MegaPOV.
>
> Although both of these would not be real portals as the view
> point is fixed, which would be noticable if the portal is reflected
> from another direction. Hmm if the input angles are sufficiently
> disjoint you could map two camera_views with the aoi pattern,
> although that is also not (yet?) in the official version.
Or, you can use no_reflection for the one viewed directly, and no_image
for the one viewed through the reflection.
You can also add no_shadow to one or both, as you may want it to not
cast any shadow...
Alain
Post a reply to this message
|
|
|
|
Alain <aze### [at] qwertyorg> wrote:
> > Mike Williams wrote:
> >
> >>> Is it possible to create a surface which - when hit by a ray - simply
> >>> transmits
> >>> the ray out of another surface? I'm trying to create an effect
> >>> similar to that
> >>> in the video game "Portal".
> >>
> >> There was a MegaPov that had such a feature. It was introduced in
> >> MegaPov 1.1 as a pigment called camera_view. You paint a Portal with
> >> the camera_view pigment and the colour of its surface is the view seen
> >> from the specified camera.
> >
> > Also, as far as I understand it, this is just a convenience
> > pigment the effect of which can be obtained by rendering in
> > two passes and loading the portal image as an image_map for
> > the second render if you don't wish to use MegaPOV.
> >
> > Although both of these would not be real portals as the view
> > point is fixed, which would be noticable if the portal is reflected
> > from another direction. Hmm if the input angles are sufficiently
> > disjoint you could map two camera_views with the aoi pattern,
> > although that is also not (yet?) in the official version.
>
> Or, you can use no_reflection for the one viewed directly, and no_image
> for the one viewed through the reflection.
> You can also add no_shadow to one or both, as you may want it to not
> cast any shadow...
>
>
> Alain
Thanks for your replies, everyone. None of your suggestions did what I really
needed, so I went ahead and patched MegaPOV to support transforms on
reflections. I'll send in a patch after I've tested it (by implementing my
idea).
Post a reply to this message
|
|
|
|
"worldbuilder" <nomail@nomail> wrote:
> "Vladimir Panteleev" <the### [at] gmailcom> wrote:
> > Hi,
> >
> > Is it possible to create a surface which - when hit by a ray - simply transmits
> > the ray out of another surface? I'm trying to create an effect similar to that
> > in the video game "Portal".
>
> I don't know exactly what you're going for, (I have never played or even seen
> Portal) but you could render a whole different scene and then simply apply it on
> a disc in the portal as a texture map. Then, set ambient to 1 and diffuse to 0.
> PS. I'm not that experienced with POV-Ray eithe
look at this :
http://farm5.static.flickr.com/4013/4631871576_a5e1eed36e_b.jpg
in megapov the portal dont run because its a camera that is defined
I think a syntax for defining a portal, it will run, we can make that we want,
defining a cube for the first part and a sphere for the second, but for the
wormhole to be correct, we will define the same object tha we just apply
transform propriety, if a wormhole is defined, and no texture defined, it will
let all the ray go from the first to the second and the second to the first, if
its a only one way wormhole, we can use somes trick for defining a object ony in
one part
cylinder { // or a other object, it is not important
<-1.5,0.5,0>
<1.5,0.5,0>
1
// if you place anything before the wormhole, it run for the two parts of the
wormhole.
wormhole {
in "file2.pov" // it will load a second povray file as a second universe, it
just for let the user to create 2 world and the ray pass from the first universe
"file1.pov" to the second "file2.pov", if not defined, it will use the same file
and use only one universe, the two files will be synchronised, all that is in
wormhole for defining it will be virtualy placed in the second file, and we will
not redefine the wormhole in the second ...
translate <0,10,0>
rotate <0,30,0>
scale <2,2,2>
pigment { rgbft <1,0,0,.5,.5> }
// if you place anything in the wormhole, it run for only the second part of
the wormhole.
}
pigment { rgbft <0,0,1,.5,.5> }
// if you place anything in the wormhole, it run for only the first part of the
wormhole.
}
I will show you a example later
Post a reply to this message
|
|