Results 1  10
of
34
Realtime kdtree construction on graphics hardware
 ACM Transactions on Graphics
, 2008
"... We present an algorithm for constructing kdtrees on GPUs. This algorithm achieves realtime performance by exploiting the GPU’s streaming architecture at all stages of kdtree construction. Unlike previous parallel kdtree algorithms, our method builds tree nodes completely in BFS (breadthfirst se ..."
Abstract

Cited by 47 (5 self)
 Add to MetaCart
We present an algorithm for constructing kdtrees on GPUs. This algorithm achieves realtime performance by exploiting the GPU’s streaming architecture at all stages of kdtree construction. Unlike previous parallel kdtree algorithms, our method builds tree nodes completely in BFS (breadthfirst search) order. We also develop a special strategy for large nodes at upper tree levels so as to further exploit the finegrained parallelism of GPUs. For these nodes, we parallelize the computation over all geometric primitives instead of nodes at each level. Finally, in order to maintain kdtree quality, we introduce novel schemes for fast evaluation of node split costs. As far as we know, ours is the first realtime kdtree algorithm on the GPU. The kdtrees built by our algorithm are of comparable quality as those constructed by offline CPU algorithms. In terms of speed, our algorithm is significantly faster than welloptimized singlecore CPU algorithms and competitive with multicore CPU algorithms. Our algorithm provides a general way for handling dynamic scenes on the GPU. We demonstrate the potential of our algorithm in applications involving dynamic scenes, including GPU ray tracing, interactive photon mapping, and point cloud modeling.
Interactive 3d distance field computation using linear factorization
 In Proc. ACM Symposium on Interactive 3D Graphics and Games
, 2006
"... We present an interactive algorithm to compute discretized 3D Euclidean distance fields. Given a set of piecewise linear geometric primitives, our algorithm computes the distance field for each slice of a uniform spatial grid. We express the nonlinear distance function of each primitive as a dot pr ..."
Abstract

Cited by 30 (6 self)
 Add to MetaCart
We present an interactive algorithm to compute discretized 3D Euclidean distance fields. Given a set of piecewise linear geometric primitives, our algorithm computes the distance field for each slice of a uniform spatial grid. We express the nonlinear distance function of each primitive as a dot product of linear factors. The linear terms are efficiently computed using texture mapping hardware. We also improve the performance by using culling techniques that reduce the number of distance function evaluations using bounds on Voronoi regions of the primitives. Our algorithm involves no preprocessing and is able to handle complex deforming models at interactive rates. We have implemented our algorithm on a PC with NVIDIA GeForce 7800 GPU and applied it to models composed of thousands of triangles. We demonstrate its application to medial axis approximation and proximity computations between rigid and deformable models. In practice, our algorithm is more accurate and almost one order of magnitude faster as compared to previous distance computation algorithms that use graphics hardware.
Approximating CatmullClark subdivision surfaces with bicubic patches
 ACM Transactions on Graphics
"... We present a simple and computationally efficient algorithm for approximating CatmullClark subdivision surfaces using a minimal set of bicubic patches. For each quadrilateral face of the control mesh, we construct a geometry patch and a pair of tangent patches. The geometry patches approximate the ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
We present a simple and computationally efficient algorithm for approximating CatmullClark subdivision surfaces using a minimal set of bicubic patches. For each quadrilateral face of the control mesh, we construct a geometry patch and a pair of tangent patches. The geometry patches approximate the shape and silhouette of the CatmullClark surface and are smooth everywhere except along patch edges containing an extraordinary vertex where the patches are C0.Tomake the patch surface appear smooth, we provide a pair of tangent patches that approximate the tangent fields of the CatmullClark surface. These tangent patches are used to construct a continuous normal field (through their crossproduct) for shading and displacement mapping. Using this bifurcated representation, we are able to define an accurate proxy for CatmullClark surfaces that is efficient to evaluate on nextgeneration GPU architectures that expose a programmable tessellation unit.
D.: Realtime Reyesstyle adaptive surface subdivision
 ACM Transactions on Graphics
"... Figure 1: Flatshaded OpenGL renderings of Reyessubdivided surfaces, showing eyespace grids generated during the Bound & Split loop. We present a GPU based implementation of Reyesstyle adaptive surface subdivision, known in Reyes terminology as the Bound/Split and Dice stages. The performance of ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
Figure 1: Flatshaded OpenGL renderings of Reyessubdivided surfaces, showing eyespace grids generated during the Bound & Split loop. We present a GPU based implementation of Reyesstyle adaptive surface subdivision, known in Reyes terminology as the Bound/Split and Dice stages. The performance of this task is important for the Reyes pipeline to map efficiently to graphics hardware, but its recursive nature and irregular and unbounded memory requirements present a challenge to an efficient implementation. Our solution begins by characterizing Reyes subdivision as a work queue with irregular computation, targeted to a massively parallel GPU. We propose efficient solutions to these general problems by casting our solution in terms of the fundamental primitives of prefixsum and reduction, often encountered in parallel and GPGPU environments. Our results indicate that realtime Reyes subdivision can indeed be obtained on today’s GPUs. We are able to subdivide a complex model to subpixel accuracy within 15 ms. Our measured performance is several times better than that of Pixar’s RenderMan. Our implementation scales well with the input size and depth of subdivision. We also address concerns of memory size and bandwidth, and analyze the feasibility of conventional ideas on screenspace buckets.
Generic Mesh Refinement on GPU
, 2005
"... Many recent publications have shown that a large variety of computation involved in computer graphics can be moved from the CPU to the GPU, by a clever use of vertex or fragment shaders. Nonetheless there is still one kind of algorithms that is hard to translate from CPU to GPU: mesh refinement te ..."
Abstract

Cited by 18 (5 self)
 Add to MetaCart
Many recent publications have shown that a large variety of computation involved in computer graphics can be moved from the CPU to the GPU, by a clever use of vertex or fragment shaders. Nonetheless there is still one kind of algorithms that is hard to translate from CPU to GPU: mesh refinement techniques. The main reason for this, is that vertex shaders available on current graphics hardware do not allow the generation of additional vertices on a mesh stored in graphics hardware. In this paper, we propose a general solution to generate mesh refinement on GPU. The main idea is to define a generic refinement pattern that will be used to virtually create additional inner vertices for a given polygon. These vertices are then translated according to some procedural displacement map defining the underlying geometry (similarly, the normal vectors may be transformed according to some procedural normal map). For illustration purpose, we use a tesselated triangular pattern, but many other refinement patterns may be employed. To show its flexibility, the technique has been applied on a large variety of refinement techniques: procedural displacement mapping, as well as more complex techniques such as curved PNtriangles or STmeshes.
Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation
"... Figure 1: The first image (far left) illustrates an input control mesh; regular (gold) faces do not have an incident extraordinary vertex, irregular quads (purple) have at least one extraordinary vertex, and triangular (green) faces are allowed. The second and third images show the parametric patche ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
Figure 1: The first image (far left) illustrates an input control mesh; regular (gold) faces do not have an incident extraordinary vertex, irregular quads (purple) have at least one extraordinary vertex, and triangular (green) faces are allowed. The second and third images show the parametric patches we generate. The final image is of the same surface with a displacement map applied. We present a new method for approximating subdivision surfaces with hardware accelerated parametric patches. Our method improves the memory bandwidth requirements for patch control points, translating into superior performance compared to existing methods. Our input is general, allowing for meshes that contain both quadrilateral and triangular faces in the input control mesh, as well as control meshes with boundary. We present two implementations of our scheme designed to run on Direct3D 11 class hardware equipped with a tessellator unit. 1
Phong Tessellation
, 2008
"... Modern 3D engines used in realtime applications provide shading that hides the lack of higher order continuity inside the shapes using modulated normals, textures, and tonemapping – artifacts remain only on interior contours and silhouettes if the surface geometry is not smooth. The basic idea in ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Modern 3D engines used in realtime applications provide shading that hides the lack of higher order continuity inside the shapes using modulated normals, textures, and tonemapping – artifacts remain only on interior contours and silhouettes if the surface geometry is not smooth. The basic idea in this paper is to apply a purely local refinement strategy that inflates the geometry enough to avoid these artifacts. Our technique is a geometric version of Phong normal interpolation, not applied on normals but on the vertex positions. We call this strategy Phong Tessellation.
Fast Parallel Construction of Smooth Surfaces from . . .
, 2008
"... Polyhedral meshes consisting of triangles, quads, and pentagons and polar configurations cover all major sampling and modeling scenarios. We give an algorithm for efficient local, parallel conversion of such meshes to an everywhere smooth surface consisting of lowdegree polynomial pieces. Quadrilat ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Polyhedral meshes consisting of triangles, quads, and pentagons and polar configurations cover all major sampling and modeling scenarios. We give an algorithm for efficient local, parallel conversion of such meshes to an everywhere smooth surface consisting of lowdegree polynomial pieces. Quadrilateral facets with 4valent vertices are ‘regular ’ and are mapped to bicubic patches so that adjacent bicubics join C 2 as for cubic tensorproduct splines. The algorithm can be implemented in the vertex and geometry shaders of the GPU pipeline and does not use the fragment shader. Its implementation in DirectX 10 achieves conversion plus rendering at 659 frames per second with 42.5 million triangles per second on input of a model of 1300 facets of which 60 % are not regular.
A flexible kernel for adaptive mesh refinement on GPU
 Computer Graphics Forum
, 2008
"... We present a flexible GPU kernel for adaptive onthefly refinement of meshes with arbitrary topology. By simply reserving a small amount of GPU memory to store a set of adaptive refinement patterns, onthefly refinement is performed by the GPU, without any preprocessing nor additional topology dat ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We present a flexible GPU kernel for adaptive onthefly refinement of meshes with arbitrary topology. By simply reserving a small amount of GPU memory to store a set of adaptive refinement patterns, onthefly refinement is performed by the GPU, without any preprocessing nor additional topology data structure. The level of adaptive refinement can be controlled by specifying a pervertex depthtag, in addition to usual position, normal, color and texture coordinates. This depthtag is used by the kernel to instanciate the correct refinement pattern, which will map a refined connectivity on the input coarse polygon. Finally, the refined patch produced for each triangle can be displaced by the vertex shader, using any kind of geometric refinement, such as Bezier patch smoothing, scalar valued displacement, procedural geometry synthesis or subdivision surfaces. This refinement engine does neither require multipass rendering nor any use of fragment processing nor special preprocess of the input mesh structure. It can be implemented on any GPU with vertex shading capabilities.