Department of Computer Science and Electrical Engineering, University of Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore, MD 21250, USA.
IEEE Trans Vis Comput Graph. 2012 Oct;18(10):1603-13. doi: 10.1109/TVCG.2012.113.
Surface curvature is used in a number of areas in computer graphics, including texture synthesis and shape representation, mesh simplification, surface modeling, and nonphotorealistic line drawing. Most real-time applications must estimate curvature on a triangular mesh. This estimation has been limited to CPU algorithms, forcing object geometry to reside in main memory. However, as more computational work is done directly on the GPU, it is increasingly common for object geometry to exist only in GPU memory. Examples include vertex skinned animations and isosurfaces from GPU-based surface reconstruction algorithms. For static models, curvature can be precomputed and CPU algorithms are a reasonable choice. For deforming models where the geometry only resides on the GPU, transferring the deformed mesh back to the CPU limits performance. We introduce a GPU algorithm for estimating curvature in real time on arbitrary triangular meshes. We demonstrate our algorithm with curvature-based NPR feature lines and a curvature-based approximation for an ambient occlusion. We show curvature computation on volumetric data sets with a GPU isosurface extraction algorithm and vertex-skinned animations. We present a graphics pipeline and CUDA implementation. Our curvature estimation is up to ~18x faster than a multithreaded CPU benchmark.
曲面曲率在计算机图形学的多个领域都有应用,包括纹理合成和形状表示、网格简化、曲面建模和非真实感线条绘制。大多数实时应用程序都必须在三角网格上估计曲率。这种估计一直受到 CPU 算法的限制,迫使物体几何形状只能驻留在主内存中。然而,随着更多的计算工作直接在 GPU 上完成,物体几何形状只存在于 GPU 内存中的情况越来越常见。例如基于 GPU 的曲面重建算法的顶点蒙皮动画和等距曲面。对于静态模型,可以预先计算曲率,因此 CPU 算法是一个合理的选择。对于只在 GPU 上驻留的变形模型,将变形网格传输回 CPU 会限制性能。我们引入了一种实时估计任意三角网格曲率的 GPU 算法。我们使用基于曲率的非真实感特征线和基于曲率的环境光遮挡逼近来演示我们的算法。我们在 GPU 体数据集提取算法和顶点蒙皮动画上展示了曲率计算。我们提出了一个图形管道和 CUDA 实现。我们的曲率估计比多线程 CPU 基准测试快约 18 倍。