Results 1 - 10
of
29
UberFlow: A GPU-Based Particle Engine
, 2004
"... We present a system for real-time animation and rendering of large particle sets using GPU computation and memory objects in OpenGL. Memory objects can be used both as containers for geometry data stored on the graphics card and as render targets, providing an effective means for the manipulation an ..."
Abstract
-
Cited by 66 (3 self)
- Add to MetaCart
We present a system for real-time animation and rendering of large particle sets using GPU computation and memory objects in OpenGL. Memory objects can be used both as containers for geometry data stored on the graphics card and as render targets, providing an effective means for the manipulation and rendering of particle data on the GPU. To fully take advantage of this mechanism, efficient GPU realizations of algorithms used to perform particle manipulation are essential. Our system implements a versatile particle engine, including inter-particle collisions and visibility sorting. By combining memory objects with floating-point fragment programs, we have implemented a particle engine that entirely avoids the transfer of particle data at run-time. Our system can be seen as a forerunner of a new class of graphics algorithms, exploiting memory objects or similar concepts on upcoming graphics hardware to avoid bus bandwidth becoming the major performance bottleneck.
Glift: Generic, efficient, random-access GPU data structures
- IN PROC. OF SIGGRAPH ’05
, 2005
"... This paper presents Glift, an abstraction and generic template library for defining complex, random-access graphics processor (GPU) data structures. Like modern CPU data structure libraries, Glift enables GPU programmers to separate algorithms from data structure definitions; thereby greatly simplif ..."
Abstract
-
Cited by 32 (4 self)
- Add to MetaCart
This paper presents Glift, an abstraction and generic template library for defining complex, random-access graphics processor (GPU) data structures. Like modern CPU data structure libraries, Glift enables GPU programmers to separate algorithms from data structure definitions; thereby greatly simplifying algorithmic development and enabling reusable and interchangeable data structures. We characterize a large body of previously published GPU data structures in terms of our abstraction and present several new GPU data structures. The structures, a stack, quadtree, and octree, are explained using simple Glift concepts and implemented using reusable Glift components. We also describe two applications of these structures not previously demonstrated on GPUs: adaptive shadow maps and octree 3D paint. Lastly, we show that our example Glift data structures perform comparably to handwritten implementations while requiring only a fraction of the programming effort.
A Streaming Narrow-Band Algorithm: Interactive Computation and Visualization of Level Sets
- IEEE Transactions on Visualization and Computer Graphics
, 2004
"... Deformable isosurfaces, implemented with level-set methods, have demonstrated a great potential in visualization and computer graphics for applications such as segmentation, surface processing, and physically-based modeling. Their usefulness has been limited, however, by their high computational cos ..."
Abstract
-
Cited by 30 (9 self)
- Add to MetaCart
Deformable isosurfaces, implemented with level-set methods, have demonstrated a great potential in visualization and computer graphics for applications such as segmentation, surface processing, and physically-based modeling. Their usefulness has been limited, however, by their high computational cost and reliance on significant parameter tuning. This paper presents a solution to these challenges by describing graphics processor (GPU) based algorithms for solving and visualizing level-set solutions at interactive rates. The proposed solution is based on a new, streaming implementation of the narrow-band algorithm. The new algorithm packs the level-set isosurface data into 2D texture memory via a multi-dimensional virtual memory system. As the level-set moves, this texture-based representation is dynamically updated via a novel GPU-to-CPU message passing scheme. By integrating the level-set solver with a real-time volume renderer, a user can visualize and intuitively steer the level-set surface as it evolves. We demonstrate the capabilities of this technology for interactive volume segmentation and visualization. Index Terms--- Deformable Models, Image Segmentation, Volume Visualization, GPU, Level Sets, Streaming Computation, Virtual Memory All authors are associated with the Scientific Computing and Imaging Institute at the University of Utah.
Interactive, GPU-Based Level Sets for 3D Segmentation
- In: Medical Image Computing and Computer Assisted Intervention (MICCAI
, 2003
"... While level sets have demonstrated a great potential for 3D medical image segmentation, their usefulness has been limited by two problems. First, 3D level sets are relatively slow to compute. Second, their formulation usually entails several free parameters which can be very difficult to correctl ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
While level sets have demonstrated a great potential for 3D medical image segmentation, their usefulness has been limited by two problems. First, 3D level sets are relatively slow to compute. Second, their formulation usually entails several free parameters which can be very difficult to correctly tune for specific applications. This paper presents a tool for 3D segmentation that relies on level-set surface models computed at interactive rates on commodity graphics cards (GPUs). The interactive rates for solving the level-set PDE give the user immediate feedback on the parameter settings, and thus users can tune three separate parameters and control the shape of the model in real time. We have found that this interactivity enables users to produce good, reliable segmentation, as supported by qualitative and quantitative results.
Display of Vector Fields Using a Reaction-Diffusion Model
, 2004
"... Effective visualization of vector fields relies on the ability to control the size and density of the underlying mapping to visual cues used to represent the field. In this paper we introduce the use of a reaction-diffusion model, already well known for its ability to form irregular spatio-temporal ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
Effective visualization of vector fields relies on the ability to control the size and density of the underlying mapping to visual cues used to represent the field. In this paper we introduce the use of a reaction-diffusion model, already well known for its ability to form irregular spatio-temporal patters, to control the size, density, and placement of the vector field representation. We demonstrate that it is possible to encode vector field information (orientation and magnitude) into the parameters governing a reaction-diffusion model to form a spot pattern with the correct orientation, size, and density, creating an effective visualization. To encode direction we texture the spots using a light to dark fading texture. We also show that it is possible to use the reaction-diffusion model to visualize an additional scalar value, such as the uncertainty in the orientation of the vector field. An additional benefit of the reaction-diffusion visualization technique arises from its automatic density distribution. This benefit suggests using the technique to augment other vector visualization techniques. We demonstrate this utility by augmenting a LIC visualization with a reaction-diffusion visualization. Finally, the reaction-diffusion visualization method provides a technique that can be used for streamline and glyph placement.
An improved study of real-time fluid simulation on gpu
- Department of Computer Science, University of Manchester, UK. Since
, 2004
"... Taking advantage of the parallelism and programmability of GPU, we solve the fluid dynamics problem completely on GPU. Different from previous methods, the whole computation is accelerated in our method by packing the scalar and vector variables into four channels of texels. In order to be adaptive ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
Taking advantage of the parallelism and programmability of GPU, we solve the fluid dynamics problem completely on GPU. Different from previous methods, the whole computation is accelerated in our method by packing the scalar and vector variables into four channels of texels. In order to be adaptive to the arbitrary boundary conditions, we group the grid nodes into different types according to their positions relative to obstacles and search the node that determines the value of the current node. Then we compute the texture coordinates offsets according to the type of the boundary condition of each node to determine the corresponding variables and achieve the interaction of flows with obstacles set freely by users. The test results prove the efficiency of our method and exhibit the potential of GPU for general-purpose computations.
Dye Advection without the Blur: A Level-Set Approach for Texture
- PROC. EUROGRAPHICS 2004
, 2004
"... Dye advection is an intuitive and versatile technique to visualize both steady and unsteady flow. Dye can be easily combined with noise-based dense vector field representations and is an important element in user-centric visual exploration processes. However, fast texture-based implementations of dy ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
Dye advection is an intuitive and versatile technique to visualize both steady and unsteady flow. Dye can be easily combined with noise-based dense vector field representations and is an important element in user-centric visual exploration processes. However, fast texture-based implementations of dye advection rely on linear interpolation operations that lead to severe diffusion artifacts. In this paper, a novel approach for dye advection is proposed to avoid this blurring and to achieve long and clearly defined streaklines or extended streak-like patterns. The interface between dye and background is modeled as a level-set within a signed distance field. The level-set evolution is governed by the underlying flow field and is computed by a semi-Lagrangian method. A reinitialization technique is used to counteract the distortions introduced by the level-set evolution and to maintain a levelset function that represents a local distance field. This approach works for 2D and 3D flow fields alike. It is demonstrated how the texture-based level-set representation lends itself to an efficient GPU implementation and therefore facilitates interactive visualization.
A fast eikonal equation solver for parallel systems
- In SIAM conference on Computational Science and Engineering
, 2007
"... Abstract. This paper presents a novel solver for the eikonal equation that is designed to run efficiently on massively parallel systems. The proposed method manages a list of active nodes and iteratively updates the solutions on those grid points until they converge. The management of the list does ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Abstract. This paper presents a novel solver for the eikonal equation that is designed to run efficiently on massively parallel systems. The proposed method manages a list of active nodes and iteratively updates the solutions on those grid points until they converge. The management of the list does not entail the extra burden of ordered data structures. The proposed method has suboptimal worst-case performance, but in practice, on real and synthetic datasets, it performs fewer computations per node than optimal alternatives. Furthermore, the proposed method uses local, synchronous updates and therefore has better cache coherency, is simple to implement, and scales efficiently on parallel architectures, e.g., multiprocessor systems or GPUs (graphics processing units). The paper describes the method, the implementation on the GPU, and performance analysis that compares against the state-of-the-art eikonal solvers. 1. Introduction. The eikonal equation, which is a nonlinear Hamilton-Jacobi partial differential

