I think so. That was what I had in mind in the below post as well. However, I've only read about doing a split rendering like this, I've never implemented it. (It was quite common back in the 16-bit depth buffer days, for regular apps & games)
Using two (or more) viewports is easy: ViewportPtr far_vp = ... ViewportPtr near_vp = ... window->addViewport(far_vp); window->addViewport(near_vp); For the near_vp, use a DepthClearBackground, to keep the color buffer contents. Also, pleasy try to find some other references on this technique, in case there's something I've missed. :) Cheers, /Marcus [EMAIL PROTECTED] wrote: > Thank you very much! I also would like to know if the solution > mentioned by you in this message (http://www.mail-archive.com/opensg- > [EMAIL PROTECTED]/msg06338.html) is applicable, and how can I > set two viewports one on the top of the other... > Cheers, > Christian > > 2007/5/22, Marcus Lindblom <[EMAIL PROTECTED]>: > > [EMAIL PROTECTED] wrote: > > Hi to everyone. > > > > I need to visualize a huge scene, but I should be able to go > near > > every detail... I tried to set a near plane of 1.0 and a far > plane of > > 1e9 o more, but there were precision issues because of the loss > of > > precision in the perspective projection matrix. Is there a > simple way > > to solve this? I heard that this should be done by using two > linked > > cameras with different near/far planes and two viewports, but I > hope > > there is a simpler way... > > > Not really. It might even be more difficult, but not overly so. To > do it > correctly I think you need to read up on large scene visualization > (solar systems etc), which aims to solve the two problems you are > having: > > 1. Depthbuffer precision (24-bits, so you need far/near to below > 1000-10000 to avoid precision problems) > 2. Floating point precision & numerical errors that occur at larg > scales. > > So, two cameras & viewports, using the same beacon for both > cameras, > ought to solve the first problem. (1 to 0.5e5 and 0.5e5 to 1e9 > would > work for you). > > Also, I have another dumb question :) ... I use more than one > node to > > specify the position of a 3d model (eg. if the model is in (1e9, > 0,0) I > > use 3 nodes, each with a traslation of (1e3,0,0)), instead than > a > > single node. Do I get more precision by using more than one node > (as I > > think)? > > > No. Quite the opposite. This relates to point 2 above. Since > you're > dealing with large values, you are bound to get some floating > point > precision problems. (32-bit floats, which OpenGL & hence also > OpenSG > uses, has about 1e6 significat digist, so something at around 1e9 > has a > minimum precision of 1e3 (if you're counting meters here, you can > place > something 1 billion m away from origo, but only to 1km precision). > > For dealing correctly with large scenes, it has been discussed > before, > both here (a little) and probably elsewhere on the net and/or in > academia. I think you ought find some good tips & info if you > search a > bit, and maybe other readers can give you good links? > > I don't have much knowledge about the technique used, but I think > it > involves having the camera at the origin always, and calculating > the > position of other objects relative to the camera in higher > precision > (double or more) then setting each transform matrix (that users 32- > bit > floats) each frame. > > Hope it helps. :) > > Cheers, > /Marcus > > > > > Rendi Sicuro il tuo Pc con Norton Antivirus e Norton Internet Security! > > http://vas.tiscali.it/internet_security/ > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Opensg-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opensg-users > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Opensg-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensg-users
