Sign in to follow this  
Scrat_Amir

Triangle Strip

Recommended Posts

Hi guys! Can anyone help me to create this patch with triangle strip? http://allyoucanupload.webshots.com/v/2004105915835938218 I want it for creating procedural terrain and I don't know how to handle it or start drawing it. http://allyoucanupload.webshots.com/v/2004611922944230317 http://allyoucanupload.webshots.com/v/2004603677190264905

Share this post


Link to post
Share on other sites
Triangle stripping is mostly pointless in this day of GPUs with well-sized vertex caches (also, because stripping frequently requires multiple draw calls or degenerate triangles, stripping can also HURT performance instead of help). Your best bet is to simply used indexed triangle lists. You could (and should) adjust the ordering of the indices to be cache-friendly (there are patterns that work great with regular grid structures, but I can't remember the names off-hand).

Just don't worry about doing triangle strips, it's more trouble than it's worth. Cache-friendly indexed triangle lists orderings are best.

Share this post


Link to post
Share on other sites
In your opinion with todays modern hardwares should we use Cache-friendly indexed triangle lists instead of indexed triangle strip for Hugues Hoppe's geoclipmap stuff?
http://allyoucanupload.webshots.com/v/2003108503045453018

thanks in advance

Share this post


Link to post
Share on other sites
You have to be careful. NVIDIA cards offer more than 24 vertices per cache, but the Micro$oft D3DX utilities will generate allways optimization for 16 vertices per cache. Hope described it within some paper.

So the D3DX version uses allways 16 vertices/cache and it is a speedup for sure, but it does not use any more optimizations, even if it could (for example 24 or 32 vertices/cache).

Hope commented it as if it was no significant improvment if the cache is higher, so they kept the 16 vertices version.

It is also impossible to determine how big the vertex cache is. There is no hint in any device caps that could proove that.

All you could do is to perform some statistic checks with various models (different vertex cache size) and the optimal one is the best one.

With D3DX you can't determine the cache size neither you can say for what size should it be optimized since it is allways 16. I know for sure that nvidia from series 6xxx and above has at least 24. There has to be a reason for that!

Does anyone know the source code for that vertex cache optimization algorithm?

Share this post


Link to post
Share on other sites
Quote:
Original post by Scrat_Amir
In your opinion with todays modern hardwares should we use Cache-friendly indexed triangle lists instead of indexed triangle strip for Hugues Hoppe's geoclipmap stuff?
http://allyoucanupload.webshots.com/v/2003108503045453018

thanks in advance


No, indexed triangle strip instead of indexed triangle lists for gpu geoclipmap give +25% FPS. Strips are still usefull, specially for static regular grids.

Share this post


Link to post
Share on other sites
In DXSDK documentation microsoft offers to use triangle strips instead of lists and fans. and it says for optimal vertex cache performance, arrange strips to reuse triangle vertices sooner, rather than later.
( Direct3D 9 Graphics\Programming Guide\Programming Tips\Performance Optimizations\General Performance Tips )

and please see this article:
http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html

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