• Advertisement
Sign in to follow this  

Geometry Clipmaps Terrain Tutorial with Source

This topic is 1406 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

This is going to prove invaluable to me thanks

 

I spent the last 2 evenings looking for some form of source code to look for GPUGCM but this is all I could find!

 

I'm still noobie to it all but this will be studied hard. :)

Share this post


Link to post
Share on other sites

I am glad that it is helpful. 

I have actually continued the development and now combined it with the procedural heightmap generation; you can find a demo on my page.

 

t.png

Edited by spacerat

Share this post


Link to post
Share on other sites

Why is the wireframe not actually wireframe? I see GL_LINES but when I draw my terrain that way, it still comes out as real wireframe.

What does the green/brown/blue/red designate?

You should comment your code even if it is for yourself. That looks impossible to maintain if you come back to it a year later or add a ton more code. Almost not comments and not very meaningful variable names.

Share this post


Link to post
Share on other sites
 

This is very cool, are you going to be uploading new demos as you go on or updating the example?

 

Thank you ! 

I might release further demos or tutorials (like the skeletal animation one),

but since I plan to use the terrain for my turrican clone, the further development is closed source for now. 

 

 

Why is the wireframe not actually wireframe? I see GL_LINES but when I draw my terrain that way, it still comes out as real wireframe.

What does the green/brown/blue/red designate?

You should comment your code even if it is for yourself. That looks impossible to maintain if you come back to it a year later or add a ton more code. Almost not comments and not very meaningful variable names.

 

The wireframe does look like lines, as the geometry is rendered as triangle strips.

You can change GL_LINES to GL_LINE_STRIP, which will give the look closer to triangles. However, you will get error lines at the patch borders due to the way the mesh is generated with invalidating border triangles by using the same vertex twice.

 

The colors red etc are the result of the xor function used to create the sample texture. There is no meaning.

 

As for the comments, well , I have added as much comments as i need for myself when I get back to the code lateron.

Edited by spacerat

Share this post


Link to post
Share on other sites
 

Just wanna say thanks for the demo.

 

 

Glad I could help.

 

 

What are you using for your sky?

 

Its a simple skybox.

If you google for "skybox texture" you can find many alternatives.

Share this post


Link to post
Share on other sites


The wireframe does look like lines, as the geometry is rendered as triangle strips.
You can change GL_LINES to GL_LINE_STRIP, which will give the look closer to triangles. However, you will get error lines at the patch borders due to the way the mesh is generated with invalidating border triangles by using the same vertex twice.
You can leave it as drawing triangle strips, but set glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); to get wire-frame triangles.

Share this post


Link to post
Share on other sites

 

You can leave it as drawing triangle strips, but set glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); to get wire-frame triangles.

I do that with my terrain and it kills the performance. I haven't thought about why as there isn't much overwrie on my terrain (about 0 triangles mapping ot the same pixel to make overdraw).  I assume that the polygonMode stll runs the pixel shader on all triangles pixels and not just the edges, but then later discards writing in depth/color for the non edge pixels. Only explanation I can think of off the top of my head. Goes from like 150FPS to 20 or something. so the inner triangle pixels would be overwritten a TON of times in my case.

Edited by dpadam450

Share this post


Link to post
Share on other sites

I just tried to implement GL_FRONT_AND_BACK in the terrain tutorial - however it doesnt give the desired result. The problem is that I used degenerated triangles at the boundaries of the quad mesh - therefore there are lots of "error-lines" on the screen. To solve this, one would have to create an alternative quad mesh that is not using degenerated triangles.

Edited by spacerat

Share this post


Link to post
Share on other sites

excuse me, what is a clip map in this context?  ive never used the term before.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement