3DzzD Landscape engine WIP

Some screenshots of a landscape engine that I am adding to 3DzzD engine.

It is still fully compatible with Java 1.1 (SUN and MS).

The algorithm used is a modification of ROAM allowing better performances. The landscape is made of 35000 faces, only 1000 faces are selected for each drawn images. The selection of the 1000 faces takes less than 1 ms.

For now, 3DzzD can render this landscape with a resolution of 600*400 at 25 fps on a 1.6GHZ(AMD thunderbird), I will put an online démo at the beginning of year 2006.

The landscape has been made with Terragen.

If you are interested by the landscape, you can grab it here :

http://dzzd.net/Previews/Landscape/TERRAIN.RAW

Bruno

Looking really good, can’t wait to see it in action!

Dzzd, it looks promising. I have several questions regarding ;)…

  1. Can you tell us do you render terrain in little chunks (and how big they are?).
  2. How many LOD pre-calculated vertices do you have?
  3. You mentioned that terrain consist of 35000 faces - does it mean it is 187 x 187 terrain ?
  4. What graphic card is used for rendering 25 fps?
  5. That sea - is it just painted terrain or something else?

[quote]Can you tell us do you render terrain in little chunks (and how big they are?)
[/quote]
Terrain is tesselated to a chosen level (256 for this sample) : for this sample, terrain is divided in smaller part until face size =1/256 of the full terrain size. It is possible to use heightmap from file but also perlin-noise or any 2D function as input.

[quote] How many LOD pre-calculated vertices do you have?
[/quote]
When terrain is tesselated only significants faces are created (face is not divided when it is not necessary). only necessary vertices are created and they are not duplicated : vertices number approximatively equals 0.5 faces number for that sample about 16000 vertices.

[quote]You mentioned that terrain consist of 35000 faces - does it mean it is 187 x 187 terrain ?
[/quote]
No, for this sample heightmap is 257*257 but lot of faces are removed (or not divided because child faces lie on parent face => big flat surface)

[quote]What graphic card is used for rendering 25 fps?
[/quote]
My video car is a radeon x800 but because it is full software (work with pixels array) only final image blitting is performed by the videocard (Graphics.drawImage(,)) so differents videocard do not produce big differences in fps. I change my video card a month ago (before I had a radeon 7000) and only notice a maximum of 3-4fps diff on demo running at 30fps.

[quote]That sea - is it just painted terrain or something else
[/quote]
Yes sea is a part of the terrain but use the same map as ground texture: terrain is rendering using two texture one for color (with bilinear filtering/mipmapping) and an other for detail (only mipmap)

Terrain engine (tesselator and LOD generator) is a standalone component, maybe I will share it in “share code section” in few weeks. It can use any heightmap able to answer the question height=getAt(double x,double y) with : 0.0<x<1.0,0.0<y<1.0, 0.0<height<1.0 so it can use any kind of heightmap generator: file, perlin noise, function… and can generate LOD mesh (face list) for a desired number of face or quality with the minimum visual impact for a given wiew point .

Bruno

a fast demo test for the CLOD terrain engine, it use a lot of memory

please add -Xmx256m to your java plugin if it is no running

see it in action at http://dzzd.net/demo/3DzzDAP1.202/

Bruno

Nice. Around 15-20 FPS (2Ghz, Radeon 7500). Too bad that movement is so slow, it would be nice to move triple time with SHIFT + UP ARROW?

You may have other application running or you look the sky fot too long (if you look at sky for too long it make the clod engine to produce too many faces and than run slowly) try too look horizon or ground

Here is a nex demo with landscape CLOD engine + 3ds scene

http://dzzd.net/demo/3DzzDAP1.203/

this demo use less memory than before and hope it will run everywhere this times!

scene lighting is also rotating to show phong shader (look at stone and wood-cilynder)

Bruno

Looks very promising! I also got about 15-20FPS but it all felt really smooth.

Yes, everything going smooth and looking fine. You skydome is confusing me, it is not “classical” skydome - when I went to the edge of the world I saw non-smooth bottom line of skydome? And do you use one big texture for it or you composed the sky?

Hi,

I do not take many time to polish sky (expecially the ground you probaly seen wich is black and rounded).

sky is a simple skybox, it may look a bit distorted because the skybox is made with a cube ,that impli the camera must have an exact field of view of 90° but I take the default camera of the loaded scene from the 3ds file and I think FOV is a little bit different, I need to resize skybox to fit to the vertical FOV and horizontal FOV to get correct view every where or set a FOV of 90° for camera.

Bruno