Wei Li's Research


Ph.D. Dissertation


Software


Projects

Hardware-accelerated volume rendering

Abstract: We propose methods to accelerate texture-based volume rendering by skipping empty and occluded voxels. We partition the volume into sub-volumes, each containing voxels with similar properties. Sub-volumes composed of only the voxels mapped to empty by the transfer function are skipped. To render the adaptively partitioned sub-volumes in visibility order, we reorganize them into an orthogonal BSP tree. We also present an algorithm that computes the intersection of a volume with the slicing planes incrementally, that cancels the overhead of the intersection and texture coordinates computation introduced by the partitioning. Rendering with empty space skipping is 2.8 times faster on average than without it. To apply occlusion clipping, we propose the orthogonal opacity map that simplifies the transformation between the volume coordinates and the opacity map coordinates, which is intensively required by occlusion detection. The map is updated efficiently by GPU. The sub-volumes are then culled and clipped against the opacity map. We also present a method that adaptively adjusts the optimal number of the opacity map updates. With occlusion clipping, about 60\% of non-empty voxels can be skipped and an additional 80% speedup on average is gained for iso-surface-like rendering.

Abstract: To apply empty space skipping in texture-based volume rendering, we partition the texture space with a box-growing algorithm. Each sub-texture comprises neighboring voxels with similar densities and gradient magnitudes. Sub-textures with similar range of density and gradient magnitude are then packed into larger ones to reduce the number of textures. The partitioning and packing is independent on the transfer function. During rendering, the visibility of the boxes is determined by whether any of the enclosed voxel is assigned a non-zero opacity by the current transfer function. Only the sub-textures from the visible boxes are blended and only the packed textures containing visible sub-textures are required to reside in the texture memory. We arrange the densities and the gradients into separate textures to avoid storing the transfer-function-independent empty regions in the gradient texture. The partitioning and packing can be considered as a lossless texture compression with an average compression rate of 3.1:1 for the gradient textures. Running on the same hardware and generating exactly the same images, the proposed method however renders 3 to 6 times faster on average than traditional approaches for various data sets in different rendering modes.

Abstract: Texture-mapping hardware has been successfully exploited for volume rendering. In this paper, we propose algorithms for texture-based volume rendering accelerated by texture hulls that avoid the transferring and compositing of empty voxels. We have developed methods that efficiently find all the bounding rectangles of the non-empty regions as well as the bounding contours that more accurately describe the borders of the non-empty regions. The bounding shapes are treated as the hulls of the non-empty sub-textures. Texels outside the hulls are skipped for storing and rendering. With our accelerations, the rendering speed is 2 to 12 times faster for a variety of data sets.

 

Abstract: We present a volume rendering system that is capable of generating high-quality images of large volumetric data (e.g., 512^3) in real time (30 frames or more per second). The system is particularly suitable for applications that generate densely occluded scenes of large data sets, such as virtual colonoscopy. The central idea is to divide the volume into sets of axis-aligned slabs. The union of the slabs approximates the shape of a colon. We render sub-volumes enclosed by the slabs and blend the slab images. We use the slab structure to accelerate volume rendering in various aspects. First, empty voxels outside the slabs are skipped. Second, fast view-volume clipping and occlusion culling are applied based on the slabs. Third, slab images are reused for nearby viewpoints. In addition, the slabs can be created very efficiently and they can be used to approximate perspective rendering with parallel projection, so that our system can benefit from fast parallel projection hardware and algorithms. We use image-warping to reduce the artifacts due to the approximation. 

Hardware-accelerated simulation of natural phenomena

Abstract: We present a physically-based flow simulation which supports complex boundary conditions running on the graphics processing unit (GPU). We employ the Lattice Boltzmann Method (LBM), a relatively new discrete-space discrete-time method, for computing the flow field. To handle complex, moving and deformable boundaries, we propose a generic voxelization algorithm of the boundaries using depth peeling, and extend it to a dynamic boundary generation method that converts any geometric boundary to LBM boundary nodes on-the-fly. Our implementation incorporates various optimizations to fully exploit the computation power of the GPU. As a result, the GPU-based simulation can be an order of magnitude faster than the CPU version, while generating simulation results with the same accuracy.

Abstract: Lattice Boltzmann Method is a physically-based approach that simulates the microscopic movement of fluid particles by simple, identical and local rules. We accelerate the computation of the LBM on general-purpose graphics hardware, by grouping particle packets into 2D textures and mapping the Boltzmann equations completely to the rasterization and frame buffer operations. We apply stitching and packing to further improve the performance. In addition, we propose techniques, namely range scaling and range separation, that systematically transform variables into the range required by graphics hardware and thus prevent overflow. These approaches can be extended to a compiler that automatically translates general calculations to operations on graphics hardware.

Abstract: We propose the use of textured splats as the basic display primitives for an open surface fire model. The high-detail textures help to achieve a smooth boundary of the fire and gain the small-scale turbulence appearance. To deal with environmental effects, such as wind and obstacles, a full physically based simulation of fire based on differential equations can be implemented. However, it is usually expensive and slow. In this paper, we demonstrate the use of the Lattice Boltzmann Model (LBM) to describe the interaction of fire with the surrounding environment. The property of fuel and non-burning objects are defined on the lattice of the computation domain. The linear and local characteristics of the LBM enable us to accelerate the computation with graphics hardware to reach real-time interaction speed. A temperature field is also incorporated to model the generation of smoke from the fire due to incomplete combustion.

 

Abstract: We present a physically-based, yet fast and simple method to simulate gaseous phenomena. In our approach, the incompressible Navier-Stokes (NS) equations governing fluid motion have been applied in a novel way to achieve a realistic animation. We introduce the Lattice Boltzmann Model (LBM) that simulates the microscopic movement of fluid particles by linear and local rules on a grid of cells, so that the macroscopic averaged properties obey the desired NS equations. The LBM is a cellular automata defined on a 2D or 3D discrete lattice of fluid cells, which is used to solve fluid animation based on different boundary conditions. The LBM simulation generates in real-time an accurate velocity field and can incorporate an optional temperature field to account for the buoyancy force of hot gaseous objects. Because of the linear and regular operations on each local cell of the LBM grid, we implement the computation in commodity texture hardware, further improving the simulation speed. Finally, textured splats are used to achieve real time rendering speed and to add small scale turbulent details. Our method can also simulate the physically correct interaction of gaseous objects with stationary or mobile obstacles in real-time, while still maintaining highly plausible visual details.

Abstract: We present a simple and linear 3D cellular automata approach for animating the melting process of solid volumetric models in virtual environments. An accurate modeling of object melting usually requires complicated physical simulations of heat transfer and phase transition from solid to liquid. In this paper, we concentrate on the behaviors of highly viscous fluids, such as wax, lava, plastic, metal, chocolate, etc. We simulate the process that a volumetric solid turns into a viscous liquid as the amount of heat it accumulates on its surface reaches a certain temperature. Once the solid object is transformed into a fluid we animate its smooth behavior based on a local cellular automata. The dynamic volume data is rendered directly on a VolumePro board or texture mapping hardware to achieve an interactive speed. Applications of our method are shown on the Responsive Workbench.

Abstract: We present an approach for simulating the natural dynamics that emerge from the coupling of a flow field to lightweight, mildly deformable objects immersed within it. We model the flow field using a Lattice Boltzmann Model (LBM) extended with a subgrid model and accelerate the computation on commodity graphics hardware to achieve real-time simulations. We demonstrate our approach using soap bubbles and a feather blown by wind fields, yet our approach is general enough to apply to other light-weight objects. The soap bubbles illustrate Fresnel reflection, reveal the dynamics of the unseen flow field in which they travel, and display spherical harmonics in their undulations. The free feather floats and flutters in response to lift and drag forces. Our single bubble simulation allows the user to directly interact with the wind field and thereby influence the dynamics in real time.


Home


Last updated on 9/8/04