Screen Space Curvature and Ambient Occlusion

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 693)


Curvature plays an important role in computer graphics. It helps us to better understand surfaces of various objects. We often deal with a discrete geometry. However, the exact curvature can only be evaluated for analytical surfaces and not for discrete ones. Existing algorithms estimate curvature for discrete geometry with a certain precision. Most of the time, the performance of those algorithms is low and they are not intended to be used in real time applications. Our target is to have a real time curvature estimation that can be used during interactive geometry changes, like in a virtual sculpting. This paper proposes a screen space technique which estimates two principal curvatures and their directions at interactive rates. Final curvature can be used for an ambient occlusion estimation. The proposed solution is created to fit directly into existing rendering pipelines.


Curvature Screen space GPU Ambient occlusion Visualisation Discrete differential geometry Computer graphics 



This work was supported by the Czech Ministry of Education, Youth and Sports – the project LO1506 and University spec. research – 1311; and by the UWB grant SGS-2016-013 Advanced Graphical and Computing Systems.


  1. 1.
    Gray, A.: Surfaces in 3-dimensional space via mathematica. In: Modern Differential Geometry of Curves and Surfaces with Mathematica, 2nd edn, pp. 394–401. CRC Press Inc., Boca Raton (1997)Google Scholar
  2. 2.
    Magid, E., Soldea, O., Rivlin, E.: A comparison of gaussian and mean curvature estimation methods on triangular meshes of range image data. Comput. Vis. Image Underst. 107, 139–159 (2007)CrossRefGoogle Scholar
  3. 3.
    Rusinkiewicz, S.: Estimating curvatures and their derivatives on triangle meshes. In: Proceedings of the 3D Data Processing, Visualization, and Transmission, 2nd International Symposium, 3DPVT 3004, pp. 486–493. IEEE Computer Society, Washington, D.C. (2004)Google Scholar
  4. 4.
    Griffin, W., Wang, Y., Berrios, D., Olano, M.: Real-time GPU surface curvature estimation on deforming meshes and volumetric data sets. IEEE Trans. Vis. Comput. Graph. 18, 1603–1613 (2012)CrossRefGoogle Scholar
  5. 5.
    Theisel, H., Rossi, C., Zayer, R., Seidel, H.P.: Normal based estimation of the curvature tensor for triangular meshes. In: 12th Pacific Conference on Computer Graphics and Applications, PG 2004, Proceedings, pp. 288–297 (2004)Google Scholar
  6. 6.
    Meyer, M., Desbrun, M., Schröder, P., Barr, A.: Discrete differential-geometry operators for triangulated 2-manifolds. In: Hege, H.C., Polthier, K. (eds.) Visualization and Mathematics III. Mathematics and Visualization, pp. 35–57. Springer, Heidelberg (2003). doi: 10.1007/978-3-662-05105-4_2 CrossRefGoogle Scholar
  7. 7.
    Yang, P., Qian, X.: Direct computing of surface curvatures for point-set surfaces. In: Botsch, M., Pajarola, R., Chen, B., Zwicker, M. (eds.) Eurographics Symposium on Point-Based Graphics. The Eurographics Association (2007)Google Scholar
  8. 8.
    Razdan, A., Bae, M.: Curvature estimation scheme for triangle meshes using biquadratic Bézier patches. Comput.-Aided Des. 37, 1481–1491 (2005)CrossRefzbMATHGoogle Scholar
  9. 9.
    Zhihong, M., Guo, C., Yanzhao, M., Lee, K.: Curvature estimation for meshes based on vertex normal triangles. Comput.-Aided Des. 43, 1561–1566 (2011)CrossRefGoogle Scholar
  10. 10.
    Fünfzig, C., Müller, K., Hansford, D., Farin, G.: PNG1 triangles for tangent plane continuous surfaces on the GPU. In: Proceedings of Graphics Interface 2008, GI 2008, pp. 219–226. Canadian Information Processing Society, Toronto (2008)Google Scholar
  11. 11.
    Boschiroli, M., Fünfzig, C., Romani, L., Albrecht, G.: G1 rational blend interpolatory schemes: a comparative study. Graph. Models 74, 29–49 (2012)CrossRefGoogle Scholar
  12. 12.
    Mellado, N., Barla, P., Guennebaud, G., Reuter, P., Duquesne, G.: Screen-space curvature for production-quality rendering and compositing. In: ACM SIGGRAPH 2013 Talks, SIGGRAPH 2013, pp. 42:1. ACM, New York (2013)Google Scholar
  13. 13.
    Mittring, M.: Finding next gen: Cryengine 2. In: ACM SIGGRAPH 2007 Courses, SIGGRAPH 2007, pp. 97–121. ACM, New York (2007)Google Scholar
  14. 14.
    McGuire, M., Osman, B., Bukowski, M., Hennessy, P.: The alchemy screen-space ambient obscurance algorithm. In: High-Performance Graphics 2011 (2011)Google Scholar
  15. 15.
    McGuire, M., Mara, M., Luebke, D.: Scalable ambient obscurance. In: High-Performance Graphics 2012 (2012)Google Scholar
  16. 16.
    Hattori, T., Kubo, H., Morishima, S.: Real time ambient occlusion by curvature dependent occlusion function. In: SIGGRAPH Asia 2011 Posters, SA 2011, pp. 48:1. ACM, New York (2011)Google Scholar
  17. 17.
    Prantl, M., Váša, L., Kolingerová, I.: Fast screen space curvature estimation on GPU. In: Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, pp. 149–158 (2016)Google Scholar
  18. 18.
    Max, N.: Weights for computing vertex normals from facet normals. J. Graph. Tools 4, 1–6 (1999)CrossRefGoogle Scholar
  19. 19.
    Mellado, N.: Screen space curvature using CUDA/C++ (algorithm implementation from patate library) (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Department of Computer Science and Engineering, Faculty of Applied SciencesUniversity of West BohemiaPlzenCzech Republic
  2. 2.New Technologies for the Information Society (NTIS)University of West BohemiaPlzenCzech Republic

Personalised recommendations