|
|
in news:web.5c46236e3d2afe54765e06870@news.povray.org Bald Eagle wrote:
> So, I'm not sure what the _exact_ parameter requirements are for your
> tiles are
In high res photography they shoot thousands of images that are then
stiched together to one biggy. Then they crop it to 256x256 tiles, scale
the image down and again crop to tiles etc. until there is a single small
tile that holds the full image. These pyramid stacked tiles are then put
in a fitting directory structure so the web server can present the right
image to the right tile when zooming in or moving the view.
This only works well with long lenses 600 mm or more, or you have to use
shif and tilt lanses/field cameras for objects close to the camera. POV-
Ray's shear.
Now, with POV-Ray and I guess many other renderers you can do the
opposite. Trace the first low res image. Chop it to tiles and magnify
those under your copier, without losing resolution. This kind of what I
do with Clipka's camera as in the macro I posted.
Of coarse we can render he ultra high res image, but going from low to
high res may have some advantages.
You can use resolution dependent textures, the earth looks like a shiny
marble from space, but when your nose hits the pavement it looks rather
rough. You can add a finer layer of texture at every zoom level. Or add
an extra function layer to your isosurface. When rendering a detail you
won't have to parse the whole scene (beware of mirrors). You can replace
object outside the field of view by simpler ones without having a too big
influence on radiosity data etc.
When rendering 360 cubes you could reuse the lower res image from the
previous round as an image map behind the camera so you even have to
parse less scene. Maybe you can even reuse radiosity data from that run.
But all in all it won't be faster only more flexible that with one big
image.
So I'm creating a set of macros to control such a tilable camera, the
basics work but I got stuck again on recreating a general perspective
camera based on location, look at and angle :(
#declare Loc = <0,1,0>;
#declare Look = <0,1,1>;
#declare Angle = 69;
#declare AR = image_width/image_height;
#declare DirLen = 0.5*vlength(Right)/tan((radians(Angle))/2);
camera {
user_defined
location Loc
direction{
function{(u)*tan(pi/4)*AR} ....
function{(v)*tan(pi/4)} ....
function{DirLen}
}
}
ingo
Post a reply to this message
|
|