Re: [Algorithms] Terrain performance comparisons
Brought to you by:
vexxed72
From: Mark D. <duc...@ll...> - 2003-07-26 00:07:36
|
I will toss in one message to the terrain opinion fest: -- Jonathan's idea about coherence-exploitation leading to a cycle of death completely forgets the idea of "split-merge until time's up" that was in the original ROAM paper. -- if you want 60Hz absolutely solid, the ONLY known method (that scales to big terrain and has any claims of accuracy) is ROAM-like systems with the "time's up" option, as far as I know (any other contenders?). I don't count "threshhold feedback" schemes -- they are not guaranteed solid (without, ehem, guarantees of frame coherence!). -- Chunking is critical to eliminating CPU work. Latest ROAM's spend all their time creating fractal detail, not doing CLOD "thinking". -- Chunking can be dynamic. The linux ROAM 2 work in progress produces detail on the fly, and presumably could re-produce it as needed if you change the terrain. Of course tossing something like ocean waves into a terrain engine will be a little awkward...but the computation of the waves will likely dominate the CPU anyway (do it on the GPU???). You still need chunk CLOD for a big ocean. BTW, is "chunk CLOD" and oxymoron? ;-) -- progressive vertex arrays are way cool as replacements for ROAM "triangles". I'm getting 100M tri/sec with PVAs as the primitives in my latest experimental ROAM-like renderer with sliding progression on a radeon 9700 pro. -- split-merge dual queues and PVAs are great for very wacky geometry, e.g. isosurfaces of 3D fully developed turbulent fluid flow. Maybe you can toss your whole game world into a 3D hierarchy (think tetrahedron bintree) with PVAs per tet. That's where I'm headed... Cheers, --Mark D |