A Flexible Kernel for Adaptive Mesh Refinement on GPU

Computer Graphics Forum, Volume 27, Number 1, page 102--114 - 2008
Download the publication : ARK.pdf [3.4Mo]  
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.

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"
}

Other publications in the database