170 likes | 377 Views
Fluids and Level Sets Session. RLE Sparse Level Sets. Ben Houston Mark Wiebe Christopher Batty. Level Sets. A level set represents a shape or form implicitly via a scalar function, Φ (x), defined over a region, Ω. Inside: Ω - = { x | Φ ( x ) < 0, x elementOf Ω }
E N D
Fluids and Level Sets Session RLE Sparse Level Sets Ben HoustonMark WiebeChristopher Batty Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Level Sets A level set represents a shape or form implicitly via a scalar function, Φ(x), defined over a region, Ω. Inside: Ω- = { x | Φ(x) < 0, x elementOf Ω } Interface: Γ = { x | Φ(x) = 0, x elementOf Ω } Outside: Ω+ = { x | Φ(x) > 0, x elementOf Ω } Useful for many things including: Shape Metamorphosis [Breen & Whitaker 2001] Surface Editing [Museth et al. 2002] Fluid Simulation Fluid Surface [Foster/Fedkiw. 2001, Enright et al. 2002] Occlusions [Houston et al. 2003] Rigid Bodies [Guendelman et al. 2003] Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Scaleable Level Sets (1) “Sparse Field” Level Set[Whitaker 1998] • Set of linked lists corresponding to isocontours around the interface allow fast access to narrow band interface. • Interface is isolated within a dense field – thus in terms of space the field is not that scalable. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Scaleable Level Sets (2) Sparse Block Level Sets[Bridson 2003, Whitaker 2003] • Have two grids, one at a lower resolution that contains pointers to optionally allocated high resolution grids. Just allocate around level set interface. • O(n2.25) storage, O(>1) sequential, O(1) random access. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Scaleable Level Sets (3) Octree Level Sets[Strain 1999, Frisken 2000] • O(n2) storage, O(log n) random access, O(log n) sequential,. • Random access is a slow (log n) because each level is a pointer dereference in most implementations. [Bridson 2003] • If voxel values are no longer regularly spaced then many standard level set algorithms (i.e. WENO) need to be reformulated. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
The Basic Idea Compress regions of level set volume using run-length encoding (RLE). Thus achieve scalability without having to re-implement our existing level set algorithms. Previous related work: Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Basic RLE Level Sets (1) Compress using 3 runs types based on their respective distance values. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Fast Random Access Basic Fast Random Access • Associate each run with it’s voxel coordinate. • Binary search for run containing voxel of interest is possible. O( log R ) Faster Fast Random Access • Create a lookup table for each line of RLE volume and restart RLE encoding on each line. • Using lookup reduces region of interest for binary search. O( log r ) Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Ray Traced Scan Conversion Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Results: Buddha Rotation Scan Resolution 600x600x600 4 Minutes a Frame. Down-sampled to 300x300x300 Buddha model was optimized prior to transformation – reduced to ~150,000 faces. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Results: Simple Tar Monster Defined Voxels Isosurface 380,835 runs 1,132,146 defined scalar values 7.38 MB of storage 55.9 million voxels 477x 364 x344 voxels 213.5 MB of storage Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Low Res. Fluid Simulation Results Results After Selective “Morph Targeting” Results: Surface / Shape Editing • Implementing CSG Booleans and more complex editing operations (similar to [Museth et al. 2002]) is pretty trivial & can be very efficient. • See [Wiebe & Houston 2004] for more details. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Results: Metamorphosis • Level set shape metamorphosis similar to [Breen & Whitaker 2001] is also easy to implement. • Was used on two shots in Scooby-Doo 2 – see [Wiebe & Houston 2004] for details. Final Shot using Morphed RLE Sparse Level as Facial “Morph Target” Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Results: Fluid Simulation • We’ve converted our level set based fluid simulator to use RLE sparse level sets. Details: Batty et al (2004) “RLE Sparse Fluid Simulation”. • RLE sparse level set fluid simulator is faster than our original fluid simulator. • If one constructs the RLE sparse field structure appropriately there is no need for a fixed bounding box. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Results: Soft & Rigid Body Simulation • RLE sparse level sets appear to be useful in simulators that use a dual tetrahedral-level set representation such as [Guendelman et al. 2003]. • In/out hit tests are quicker with RLE sparse level sets than with octrees and require less storage space. • Also useful in soft body FEM simulations (i.e. [Irving et al. 2004] in regards to representing non-soft body actors. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
Summary RLE Sparse Level Sets: Highly scalable - 130 Mv ≈ 10 MB Fast random access - a fast O( log r ) Optimal sequential interface traversal - O(1) / element f(x) is approx. defined throughout bounding volume. Compatible with most standard level set algorithms. Fairly easy to work with. Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.
http://software.franticfilms.com Acknowledgements Frantic Films National Research Council of Canada Prof. Fedkiw’s Stanford Group NVIDIA Film Group Microsoft Houston, Wiebe & Batty. (2004) RLE Sparse Level Sets.