Re: [Algorithms] VIPM With T&L - what about roam
Brought to you by:
vexxed72
From: Charles B. <cb...@cb...> - 2000-09-13 20:53:32
|
Hi Mark, At 10:18 AM 9/13/2000 -0700, you wrote: >Correct me if I'm wrong, but in your VIPM code you still need to compute >the actual strips or indexing on the fly each frame? You can >"precompute" in a coarse-grained way only if you keep something like >power-of-two static LODs, in which case VIPM isn't all that different >from traditional static LODs circa 1976, except that you cut the vertex >storage in half in some cases. If you use skip-strips or other techniques >you end up doing work on a fine-grained level, and at that point >you might as well put some VD smarts in. VIPM requires very minimal CPU work to update the triangle list. It is not rebuilt from scratch each frame. Instead, you just do some small updates to keep it valid all the time. The work is O(N) in the number of triangle changes per frame (eg. very very low). There's a write-up and pseudo-code on my web page. Also note that memory touches are O(N) in the number of triangle changes per frame, and ZERO triangles or verts that aren't modified are touched. I think some kind of chunked ROAM or VDPM is perhaps the future; it would be nice to find an algorithm which can be seamlessly blended from VIPM (large chunks) to ROAM (small chunks) so that a parameter can be tweaked which controls the CPU vs GPU loading. The brilliant step in this direction is still missing; all attempts at it are way too bulky to compete with VIPM or the minimalist versions of ROAM (ala Treadmarks). -------------------------------------- Charles Bloom www.cbloom.com |