A Flexible Kernel for Adaptive Mesh Refinement on GPU
We present a flexible GPU kernel for adaptive on-the-fly
refinement of meshes with arbitrary topology. By simply reserving
a small amount of GPU memory to store a set of adaptive refinement
patterns, on-the-fly 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
per-vertex depth-tag, in addition to usual position, normal, color
and texture coordinates. This depth-tag is used by the kernel to
instanciate the correct refinement pattern. 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 multi-pass 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.
An earlier version of this algorithm, restricted to uniform tessellation, introduces the idea of Instanced Tessellation, now available in the NVIDIA OpenGL SDK v10.
The PDF proposed on this page is an early draft (authors version). The final version is available here.
An earlier version of this algorithm, restricted to uniform tessellation, introduces the idea of Instanced Tessellation, now available in the NVIDIA OpenGL SDK v10.
The PDF proposed on this page is an early draft (authors version). The final version is available here.
Images and movies
BibTex references
@Article{BS08,
author = "Boubekeur, Tamy and Schlick, Christophe",
title = "A Flexible Kernel for Adaptive Mesh Refinement on GPU",
journal = "Computer Graphics Forum",
number = "1",
volume = "27",
pages = "102--114",
year = "2008",
note = "doi: 10.1111/j.1467-8659.2007.01040.x",
keywords = "adaptive mesh tesselation, displacement, real-time geometry synthesis, GPU technique",
url = "http://iparla.labri.fr/publications/2008/BS08"
}
![ARK.pdf [3.4Mo]](http://iparla.labri.fr/publications/images/pdf.png)