Jump to content
  • Advertisement
Sign in to follow this  
RobMaddison

Stitch it like it's hot (on the GPU)

This topic is 3411 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

In my chunked LOD terrain engine, I've just managed to do away with the headache of stitching different terrain patch LOD levels (skirts, multiple index buffers, patches, joins, etc). It appears to be pretty efficient, only takes up a handful of lines and works purely on the GPU (although involves a few dynamic branches so will only work on cards that support DB). I was wondering if this is a well-known technique or whether I've discovered something new. If there's enough interest, I'll post how it works - it's pretty straight forward so I can't imagine it hasn't been thought of before. Otherwise I'll apologise to the person who writes back "yes, been using that technique for months" and get on with the next part of my engine!

Share this post


Link to post
Share on other sites
Advertisement
People aren't open enough about their terrain engines in the commercial space now to know if someone's done it before or not. My question is: if you're requiring a fairly high end video card anyway, why not just use geoclipmaps?

Share this post


Link to post
Share on other sites
Quote:
Original post by RobMaddison
If there's enough interest, I'll post how it works - it's pretty straight forward so I can't imagine it hasn't been thought of before.


FWIW, I'm always be interested in seeing real working code no matter if it was a 'common' thing or not. The thing is with this graphics programming stuff, once you know the theory of the domain, such things as this might be simple and trivial for most, but for people like myself who don't have the expertise in the area, and not much time to dedicate to it due to specializing in other domains (networking for me right now), it's nice to have working examples to go by to 'take breaks' form the regular work.

As a disclaimer, I was working on some terrain stuff a month ago and trying to find working examples of terrain on the GPU, but there's not that much out there. I was only able to find a handful of resources to reference and actually play with for the start of my engine, but I was not quite satisfied with the setup since it was only the terrain texture that was on the GPU.

So, I can't speak for everyone else, but I'd certainly like to hear/see examples of simplified modern approaches to GPU terrain. And to Promit's point, looking at threads on Geoclipmaps, their efficiency seems to come at a cost of complexity, so for reasons I'm a bit of a wimp to try and tackle such compelx tasks in a domain I don't know, I'd go for something more efficient than the old way of doing it that was simple rather than one of the most efficient ways, but quite complicated. That's just me though [grin]

Share this post


Link to post
Share on other sites
I've not tried geoclipmaps yet. For my requirements, I don't think I really need to use them over what I've already done. Also, with geoclipmaps, isn't a bit more tricky to show distant geometry with more detail if it requires it? From what I've read, it just concentrates more detail in concentric rings around the player. That wouldn't really work for my requirements as I need to see areas of higher detail at distance.

If I needed a much bigger terrain, i.e. enough to require streaming, I might consider them but I only need it to be 4096x4096 at the moment. My engine (which currently has a max terrain resolution of 4096x4096) only uses a shade over 32megs for a geomorphed/stitched 4096x4096 terrain which includes all height data and vertex/index buffers. I could conceivably push it to 8192x8192 in just ~135megs which isn't pushing the boundaries too much. 64sq km is plenty for any game in my opinion. Aside procedural vegation/shading, it would take ages to fill it with enough eye candy to not look sparse/repetitive.

Share this post


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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!