Triangle Strip

Started by
6 comments, last by Scrat_Amir 16 years, 11 months ago
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
Advertisement
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.
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
Absolutely.
thank you, you saved a lot of time. I try to create a large terrain with indexed triangle lists and will post the result.
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?
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.
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

This topic is closed to new replies.

Advertisement