need some ideas for simple Zooming

i dont know if the subject makes any sense, but anyways, i have a massive terrain, and since its extremely slow rotating it, what i do is i have a simple rectagular wireframe that encloses the whole terrain, and whenever i move the mouse to rotate the scene, only the wireframe moves with the scene fixed. when the user gets the desired rotation, he lets go of the mouse and the scene is rotated by whatever rotation that the wireframe went thru.
i need some kind of a trick like this to zoom in and out of the scene. i cannot use the same wireframe, since after zooming in a certain level, the wireframe disappears(when im zooming in extremely close to the scene).
could anyone suggest a trick that would help me zoom in without actually rendering the scene till the desired zoom level is reached.
thank u.

How about reading the screen image to texture, then texturing that onto simpler 3D geometry during the zoom. This would start to look blury if you zoom in but would work quite well providing all the available location and scale indications. If you zoom out, the texture would show up as a small rectangle of information against a wireframe terrain.

[This message has been edited by dorbie (edited 01-09-2004).]

[QUOTE]Originally posted by dorbie:
How about reading the screen image to texture, then texturing that onto simpler 3D geometry during the zoom.

i just cannot think of a way to map the frame buffer onto simple 3D objects [b]in perspective[\B].i know how to do it in ortho, but then(if i use othro) zooming in would be a problem when i switch back to perspective(its a must to have a perspective projection), i think its gonna mess things up.

Maybe you could just have a rough version of the terrain and use that when the user is moving the viewport.


Grab the screen to texture.

Use texgen and a perspective matrix to project the texture from the viewpoint into the scene.

Remember that viewpoint & projection and use it to project the image as you zoom out and otherwise change the viewing conditions.

If I understood the problem with the wireframe correctly then you could avoid the problem by subdividing the wireframe according to the distance from the camera. This would not be hard to implement, sort of like a subdivision surface. Of course dorbie’s way would work just fine too.