Hi Alex,
I've done some experimentation with terrains and Java3D.
There are two areas you will need to consider for rendering a large
terrain.
1) Reducing the number of triangles in the terrain to a level
where the terrain looks correct (to some level of acccuracy) and
you have enough triangles left for the rest of your scene.
ROAM and other algorithms are designed specifically for this task
and there is loads of information on www.vterrain.org
2) If your terrain is large, you probably won't want all the height
field data and certainly won't want all the textures in memory
all the time. So you will have to architect a paging system for the
terrain data.
I wrote a prototype system several years ago in Java3D which could
render the entire city of Bath in England. The data was originally
in the AutoCad format. I wrote a preprocessing system which took
all the individual building/city 'block' files and split them into
regular tiles of the city. The preprocessing step also produced
a simplified dataset for collision detection.
The main application would then page in tiles as the viewer moved
around the city.
With your campus project it sounds like you have a lot of open space as well
as buildings so you'll probably want a hybrid of the two systems. ROAM
certainly supports paging of the height field patches.
As a side note, there was an issue with implementing ROAM (or similar
algorithms) before the Java3D 1.3 API was released because until 1.3 it
is not possible to determine the planes of the view frustum and therefore
ROAM tended to do a lot of work on triangles that were not visible.
Both my City demo and my implementation of ROAM a very early prototype code,
but if there is enough interest from the list I'll look into releasing the
source to j3d.org. Let me know if your interested......
Rgds
Paul
>Delivered-To: [EMAIL PROTECTED]
>MIME-Version: 1.0
>Content-Transfer-Encoding: 7bit
>X-Priority: 3 (Normal)
>X-MSMail-Priority: Normal
>X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
>Importance: Normal
>Date: Tue, 8 Jan 2002 05:49:31 -0600
>From: Alex Terrazas <[EMAIL PROTECTED]>
>Subject: [JAVA3D] Developing the Imposter
>To: [EMAIL PROTECTED]
>
>Hey-
>
>I never heard back from anyone regarding
>collaborating on some of these imposter
>methods. Anyway, I am prepared to go on
>and I hope others will join me or at least
>correct me when I am wrong. There is some
>possibility of making small academic money
>for helping with this.
>
>A little background. I am studying spatial
>memory and scanning peoples brains while they
>navigate in virtual environments. The subject
>will sit in an MRI machine and navigate the
>MSU environment. We will also be looking
>at transfer of memory across reality and
>VR. Finally, the subject will be able to
>drive a video equiped robot around campus
>while lying in the scanner. The subject
>will wear special goggles but we also want
>to have subjects navigate over the internet
>on flat screens, in our Immersadesk using
>shutter glasses, etc...
>
>The Java 3D view model is really working nicely
>in this regard-thanks to a lot of help from
>Mark Hood at Sun--see his replies to my
>questions on the archives if you are interested.
>
>
>Project Goals:
>
>Making an accurate virtual MSU allows me to
>perform accurate comparisons within/between
>subjects. I may want to distort the virtual
>envioronment later but I want to start from
>the most realistic that is practical.
>
>I am having students model different buildings
>using 3DStudio MAX. We started with Beaumont
>Tower. In the HMD, this thing is really nice.
>It's one of the only truly immersive experiences
>of my life. We are teaching a class on VR and
>I am going to have this project as a part of that.
>
>So, where to go next. I am making some progress
>on loading the terrain as a whole. We are beginning
>in the park area around Beaumont and working
>our way outward. But this is where it gets tough.
>How do I load the next terrain element--and how
>do I break up my terrain into elements. Some
>sort of data structure is necessary, right?
>Also, is it best to go through the LOD mechanim
>to load up the terrain and neighborhood? How
>should I organize my terrain model? Sure,
>someone will say just dynamically load and cache
>the geometry--but I am not sure how to implement
>that. Maybe it is best to deform a surface
>dyanimically according to the position of the
>viewer. For example, the terrain model for MSU
>is in a .dwg format which I believe is a vector
>format. The model gives 1 ft elevations for the
>entire 7000 acres campus (MSU is huge). Could I
>write a custom Java NIO to read the format, skip
>the appropriate elements and update the terrain
>model?
>
>Anybody have suggestions?
>
>Alex
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff JAVA3D-INTEREST". For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".
----------------------------------------------------------
Paul Byrne Email : [EMAIL PROTECTED]
Sun Microsystems Phone : (650) 786 9926
Visualization Software Group Fax : (650) 786 5852
----------------------------------------------------------
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".