Premium
A Flexible Kernel for Adaptive Mesh Refinement on GPU
Author(s) -
Boubekeur T.,
Schlick C.
Publication year - 2008
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/j.1467-8659.2007.01040.x
Subject(s) - computer science , vertex (graph theory) , rendering (computer graphics) , polygon mesh , triangle mesh , subdivision surface , kernel (algebra) , adaptive mesh refinement , topology (electrical circuits) , subdivision , texture mapping , computer graphics (images) , algorithm , computational science , mathematics , theoretical computer science , discrete mathematics , graph , archaeology , combinatorics , history
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, 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.