POV-Ray : Newsgroups : povray.pov4.discussion.general : Feature Request: Multiple scenes in one POV-file : Feature Request: Multiple scenes in one POV-file Server Time
5 May 2024 16:01:00 EDT (-0400)
  Feature Request: Multiple scenes in one POV-file  
From: Zeger Knaepen
Date: 27 Mar 2008 06:18:35
Message: <47eb828b$1@news.povray.org>
I believe I already mentioned it a while ago on povray.general, but this 
might be a better place.  What I would like to see in POV-Ray 4 is the 
possibility to define more than one scene in one POV-file with the 
possibility to "layer" your scenes, meaning: use one scene as background for 
the second, and so on.  This way, the problem mentioned in "Lighting problem 
at extreme distances" (povray.general) could be solved by using one scene 
for the astronomical objects, planets and sun, and another for the smaller 
objects, like spaceships, with the first scene as background for the second.
It would also be a lot easier this way to add a HUD to your image: just 
create a HUD-scene (very easy to do with a orthographic camera) and use the 
original scene as background.  Or lensflares.

It should also be possible to use one scene as image_map in another scene, 
but now I think of it, maybe that's *all* you should be able to do. Layering 
of scene could then be done this way:

---BEGIN CODE---

//declare common objects and macros
#declare Common1=...
#macro CommonMacro(...) ... #end
//declare individual scenes
#declare Scene1=scene {
    camera {...}
    light_source {...}
    object {Common1}
    sphere {...}
    ...
}
#declare MapView=scene {
    Scene1
    camera {
        orthographic
        location y
        up z*10
        right x*10
    }
}
#declare HUD=scene {
    camera {
        orthographic
        ...
    }
    union {
        ...
            pigment { //add a map to the HUD
                image_map {scene MapView}
            }
    }
}
camera {
    orthographic
    location -z*10
    right x
    up y
    look_at 0
    translate .5
}
plane {
    z,0
    pigment {image_map {scene Scene1}}
    finish {ambient 1 diffuse 0}
}
plane {
    z,-1
    pigment {image_map {scene HUD}}
    finish {ambient 1 diffuse 0}
}

---END CODE---

That way, nothing would change for those who don't want to use layered 
scenes.

cu!
-- 
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x)            // ZK http://www.povplace.com


Post a reply to this message

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