Jump to content
  • Advertisement
Sign in to follow this  
pompoko

is a library like tootle useful for terrain rendering?

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

I currently try to implement a paper dealing with planetary rendering (imagine huge datasets). The authors use a hierarchical multi-resolution approach with right angled triangular patches that contain triangle strips, and store them in binary trees. The higher up you go, in preprocessing stage, you basically unify 2 such right angled triangular patches and simplify them, so that the total vertex count is halved (and alas remains the same as the one of the lower level). Could it be useful to store the vertex information of these patches in a triangle list instead, and optimize for cache coherence in real-time, ie. with ATI's tootle? Or with underestimating the cache size, already in preprocessing stage (during the creation of the multiresolution representation). I mean there has been a paradigm shift away from triangle strips to triangle lists and vertex and index buffers and I don't know the performance differences. With heightmaps and terrain patches, due to their nature, you will end up with rows of parallel triangle strips that make up such a right angled terrain patch. Or a single strip with degenerate triangles. Is this already the best representation I will get for speed?

Share this post


Link to post
Share on other sites
Advertisement
I did a bit of research into vcache optimization a couple of years ago (part 1, part 2) and it seemed that by far the best for performance was cache-optimized lists.

That said, you can't really get the cache information from devices anymore - they even removed it from the ID3D10Device interface (early pre-release versions of the API exposed this information very nicely [sad]). Turns out that with the increasingly complex cache architectures in hardware it was difficult to represent this in a hardware agnostic way.

I've not played with tootle myself, but you'd have to play close attention to the performance profile of such algorithms. They typically aren't designed for runtime use - more load-time or plain offline processing.

hth
Jack

Share this post


Link to post
Share on other sites
Quote:

That said, you can't really get the cache information from devices anymore


if you are unable to ascertain the cache size what is a safe figure? I seem to remember one of the tootle papers saying something like 16-24 vertices in the port-transform cache on modern hardware.

Share this post


Link to post
Share on other sites
I think the best strategy is to use one of the algorithms that's designed to work well independent of cache size.

http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html

-Brian

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!