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

Reply via email to