How large can a xith universe get ?

Hello
this is maybe a bit clueless question but nonetheless:

How large can a xith universe get in comparison to java3d ?
Based on the locale concept java3d worlds could get really large in theory :slight_smile:
Is there a similar concept in xith3d and how well does/will/should it work ???

regards
Martin

A good question I think, and one I have woundered myself.

The main difference I can see is that Xith3d soley uses floats, not doubles like Java3D. Does this mean that the size of the universe is potentially smaller in Xith3d?

Of course one way around the limitation if it does exist it is to build your own abstraction (or scenegraph) that sits above Xith3d - and use Xith3d more for the renderering.

Cheers,

Will.

Xith3d uses only floats because the graphics cards only support floats. Another thing to realize is that in modern graphics cards the difference between your front clip and your back clip can only be around 3000 with a 16 bit zbuffer. Usually what people do is they scale their universe so that 1 virtual meter = x game meters.

[quote] Another thing to realize is that in modern graphics cards the difference between your front clip and your back clip can only be around 3000 with a 16 bit zbuffer. Usually what people do is they scale their universe so that 1 virtual meter = x game meters.
[/quote]
The difference between near and far can be whatever you want, its their relative values that matter. If you set your near value to 0.001 you won’t be able to use anywhere near as far as 3000 and still get good accuracy.

Theres some sort of projection matrix trickery you can do to get an infinate far clip plane, and since the zbuffer is logarithmic you apparently don’t loose much accuracy. nVidia have it detailed in a paper on their site if you’re interested…

Hm did i get this locale thing in java3d right then ?

As far as i understand, they use 3 256 bit numbers to position a locale in the universe and use that as a zero point for a locales locale coordinate system which uses double’s ?
Also, nearby locales are rendered if in clipping distance.

The idea is (i believe) to have a really big Scenegraph with locales defining points of interest (eg. solar systems, planets, ?) and be able to cull all noneedtorender stuff (most of) easily.

Does that make sense ???

Martin

Locales in J3D where intended to allow the system to avoid rounding errors in EXTREEMLY large universes. There was a good explaination of this in an old book:

Henry Sowizral, Kevin Rushforth, and Michael Deering, The Java 3D API Specification, Addison-
Wesley, Reading, Mass., December 1997. ISBN 0-201-32576-4