Terrain

@Adrian: There is no demo right now but will be soon. Yes the LOD is not very noticable i know, but still, of the little popping artifacts, geomorphing would get rid of those too and it’ll only cost a couple of instructions in the vertex shader.

@Jan: I finally found what you were talking about. The algorithm that uses a stitching scheme similar to this is “Real-time Terrain Rendering using Smooth Hardware Optimized Level of Detail” By “Bent Dalgaard Larsen and Niels Jørgen Christensen” of “Technical University of Denmark” (i think its available at http://www.vterrain.org/LOD/Papers/)..)
In simple words, no my stiching scheme is different. Their stiching scheme although greatly resembling the one that i use, is different in every sense. They change LOD and handle stitching specially at runtime, and the way they do it is different as well. So essentially they are not the same techniques although the final result resembles a lot but its not at all the same algorithm. Please read the paper in detail. In comparison you can read this paper as well and find things out for yourself.
A few other algorithms that use a similar approach (with a similar end result) BUT ARE NOT THE SAME are listed below:

  1. http://www.gamasutra.com/features/20000228/ulrich_01.htm
  2. http://www.flipcode.com/tutorials/tut_geomipmaps.shtml
  3. http://www.ics.uci.edu/~pajarola/publications.html#vis98
  4. http://www.imm.dtu.dk/pubdb/personal/sho…html&order=year
  5. http://stereofx.org/#Papers

The bottom line being that there is a certain desired output in such rendering algorithms and just because the output is the same doesn’t mean that the path chosen is the same.

http://i24.photobucket.com/albums/c26/zzeek/landscape_LOD_wire.jpg

:slight_smile:

might as well throw my implentation into the works as well, iirc i was creating an infinite landscape, where u could walk in any direction for ever. all terrain was generated on the fly, no slowdowns, since each frame a small piece is generated

now who else?

btw ive starting to get my game together see zedzeek.com

believe me I’ve tried everything.

game’s looking really good zed. Pity it’s linux only, really limits your audience unnecessarily.

“Pity it’s linux only,”

check the readme

right, windows now, great.
so why don’t you have a download link on your page?
I will never email you, you can be sure of that.

Thanks guys for all the feedback! :smiley:

The best one I was able to -try- yet, was the link I first posted on GeoMorphing with the Vertex Shader.
Terrain looks great and perfomance is 10 points. However it’s in DirectX. :confused:
Geomorphing in Vertex Shader It dates 2003. Fairly new compared to most articles on this topic.

Anyone has a link to a complete tutorial (with source code) on GeoMorphing with Shader on OpenGL? Or any other LOD you mentioned? :slight_smile:

Thanks so much!!!

One thing about that GeoMorphing article I noticed is it seems to lack dynamic lighting, at least in the article you posted. You could probably just add this by storing the normals in the texture instead of the lightmap they mentioned.

That’s a great idea!
But when the terrain changes shape because of the terrain ‘mipmapping’ or ‘geomorphing’, won’t normals change too? So you won’t be able to store the normals unless you have a static terrain???

the point is to keep “normals” consistent, so that lighting is consistent even when the mipmapping kicks in, hence use of texture data which is not so much distorted on lower tessalation is recommended

OH great! So you mean keep only a texture data of normals for only the highest levels of details (more detailed ones), and then just use the same normals for the low level of detail patches, right?

So maintaining the same normals even though you have you have less vertexes on less levels of details makes the mipmapping more unnoticiable?

THanks so much

I am just reading John Carmacks’ Interview
http://www.gamerwithin.com/?view=article&article=1319&cat=2

He says:

Level of detail wise, the terrain does not render with any sophisticated geometry morphing situation. That’s one of those things that for years I think most of the research that’s gone into has been wasted. Geometry level of detail on terrain…there have been thousands of papers written about it, and I honestly don’t think it’s all that important. The way the hardware works, you’re so much better off setting down a static mesh that’s all in vertex and index buffers, and just letting the hardware plow through it, rather than going through and having the CPU attempt to do some really clever cross blended interpolation of vertices.
As Adrian shortly mentioned too.

He says that he used that for Doom 3. :eek:

Also he mentions about MegaTexturing. He uses a 32000x32000 texture for the static terrain (no geometry LOD he says).

Does he load the 32000x32000 texture by chunks, using some kind of texture LOD? That would mean a 50mb texture with a decent quality 20:1 compression (JPEG) if I my calculator didn’t fail this time… :slight_smile:
which is possible…

He mentioned he uses Index Buffers…
Any ideas?

You can check out my terrain_middleware_under_development (shameless advertisment :wink: ).
It prebuilds adaptive tesselated mesh LOD layers, and just streams them at run-time. It’s got smooth LOD, streaming, collision detection, low CPU and moderate memory usage and - excellent framerate.
Heightmaps up to 32k x 32k are supported in current beta. Overlay texture can be of any (reasonable) size.
SDK can be downloaded, tried and used for free for non-commercial purposes.
Also, there are demo binaries, screenshots and few videos.

It can at least give you an idea or benchmark for the techniques used!

oh, yes, the link is: www.advantageterrain.com :slight_smile: