|
![](/i/fill.gif) |
In article <3a697e3d@news.povray.org>, "Rune" <run### [at] iname com>
wrote:
> Here's a thing I've been thinking about. A "world" feature.
>
> It would allow to split up a scene into different co-existing worlds.
> Each world would have its own objects, light_sources, camera,
> sky_sphere, background color and so on. One world would be completely
> unaffected by things from the other worlds. That is, objets in world
> 1 would only be affected by light_sources in world 1, the camera in
> world 1 would only see the objects in world 1, and so on.
I briefly considered this exact feature, but there is no way I could do
it. Maybe when POV 4.0 is available, and the source code is fully
object-oriented, it could be modified to handle multiple universes, but
for now you will just have to settle for putting them in unions with
their own spheres for skies, and translating them apart so they don't
interfere with each other. The current code is just too much of a mess,
and was never designed for more than one virtual universe...
> Imagine having 3 worlds. World 1 and world 2 are the actual scenes.
> You want to make an animation clip from scene 1 to scene 2, but it
> should be one of those a smooth clips which gradually fades from one
> scene to the other. So in world 3 you simply make a portal to world 1
> and one to world 2 on top of each other. Then you change the
> transparency of the upper portal texture from 100% to 0%. And, see,
> you have a smooth gradient clip!
Or a pigment map of several portal_pigments, and use the function
pattern to change portals...(just use a single value as the function, it
would act like the "solid" pattern)
> You could also use it to place a rendered object in front of your
> scene *without* the object being affected by the perspective of the
> scene! So far this has only been possible by using image_maps. It
> would also be easier than ever to add signatures to your image from
> inside POV-Ray.
>
> Do you understand what I mean? I think it would be *very* useful for
> *many* things, but it would probably also be difficult to implement.
In the current code, it would require rewriting a lot of stuff...there
are lots of globals that would need to be wrapped together into a
separate data structure for each universe, or at least saved separately
while another universe is being used. The C++ rewrite for version 4.0
should fix most of these problems.
The syntax would be pretty easy though...just something like the camera:
the last world defined is the one that gets used, and you would be able
to #declare them to allow you to refer to them from other worlds.
--
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
|
![](/i/fill.gif) |