Sign in to follow this  
Riviera Kid

the way i will do terrain rendering

Recommended Posts

Riviera Kid    142
Let me start by saying i think 'chunked' terrain is ugly, it (usually) gives lots of popup. It is (usually) obvious where the chunks begin and where they end. Look at oblivion, it isnt nice. I turn off distance rendering even though it is playable with it on. 45 fps instead of 30 is worth it. Considering the distance rendering was one of its main graphical features this is bad. Battlefield 2 has much nicer terrain. Granted it takes ages to load. But i feel there are probably ways to speed that up. Does bf2 use a system similar to roam, i dont think it is chunked. All in all i feel that terrain engines just arnt pulling there wait. (Not that i could do any better). I am going to describe the way i will do my terrain (which im pretty sure has been done before) I quite like the tree implementation with this structure |\
|..\
|.....\
|------\
|...\...|..\
|......\|.....\
+------------ (darn, how do you guys do good ascii images?) (thats 4 small triangles inside 1 triangle). I think its better than the roam binary leaf system as this way you can have a 4, 3, 2 or 1 triangle split. (as appose to 2 or 1) If you wanted to split your triangle up but 1 of the adjancent triangles didnt then a 3 triangle split (over a 4) wouldn't be too much of a compromise, your still getting 3/4 of the detail you wanted. Vise versa, if you didnt want to split but the adjancent triangle did then 2 triangles (over 1) is not the end of the world. It doesnt appear much different to roam but if you draw out this sytem on paper you dont needlessly split triangles as much. The depth of the tree is also smaller which should save memory, thats right? To conclude i think using 4 triangles instead of 2 is simpler. Also, with this system i would be creating an index buffer on the fly (for most of it, i may render the close parts with static index buffers). What kind of numbers would we be talking about when creating index buffers on the fly, how many indices? I hope i was clear. Thanks.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
This idea exists
I ran into a paper describing this variation a long time ago
unfortunatly I dont remember the name or the author anymore.

your last question is not clear
but yeah, it probably works

Share this post


Link to post
Share on other sites
JohnBolton    1372
How do you avoid T-junctions when you "split" a triangle. It looks to me like you can't split a triangle without having to split every adjacent triangle (and that means you end up splitting every triangle).

You can avoid popping in chunked lod by using "geomorphing".

Share this post


Link to post
Share on other sites
sipickles    240
JB is right, do some reading into geoclipmapping, which is basically a high detail array of quads around the viewer, surrounded by other progressively lower LOD areas.

Use geomorphing to smooth between LODs, performed on the GPUusing a vertex shader.

Si

Share this post


Link to post
Share on other sites
Riviera Kid    142
bf2 has geomorphing and there is nothing worse than seeing the world warp infront of you. I would much rather see a triangle quickly pop into place and be done with it, instead of morphing about like im on crack.

Geomorphing, pah, sounds nice. In reality its just as ugly as popping IMO.

Doesnt geoclipmapping use the vertex texture look up which is only supported by 6x00 series and after?

Split a triangle into 3 triangles. You will see that it is possible to keep 1 side intact.

Share this post


Link to post
Share on other sites
NickGravelyn    855
Quote:
Original post by Riviera Kid
Battlefield 2 has much nicer terrain.
...
bf2 has geomorphing and there is nothing worse than seeing the world warp infront of you. I would much rather see a triangle quickly pop into place and be done with it, instead of morphing about like im on crack.


So are you trying to emulate BF2's terrain or not? You seemed to like it at first, but now you don't? I would check out the geoclipmapping. I know that I've read things about various LOD algorithms and such, just try Google (or Google Scholar; it's under some hidden area of the extras at Google).

Share this post


Link to post
Share on other sites
lancekt    348
You can do geoclipmapping without vertex textures but it's a lot slower (see the article in GPU Gems 2).

Generally any solution that involves splitting triangles on the fly (e.g. ROAM) is going to be suboptimal in terms of performance on modern graphics hardware. The reason chunked LOD is popular is because it stores the terrain data in a very GPU-friendly way (large batches of static geometry). Further, if you choose your error carefully you can avoid having any visible popping/morphing. Have you seen Ulrich's chunked LOD demo? It's very hard to see the geomorphing.

Incidentally, Oblivion isn't really a fair counterexample against chunked LOD. It only has two LOD levels, the high-detail local stuff and the low-poly distant stuff. And we didn't use geomorphing at all. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this