Patate is a C++/CUDA header only library for graphics applications, co-developed with the Inria team manao. It provides a collection of Computer Graphics techniques that incorporate the latest innovations from research teams working in the field. It strives for efficiency and ease-of-use by focusing on low-level core operators and key algorithms, organised in modules that each tackle a specific set of issues.

The central goal of the library is to drastically reduce the time and efforts required to turn a research paper into a ready-to-use solution, for both commercial and academic purposes.

The library is today composed by two modules:

  • Grenaille: This module provides efficient methods for the fitting and analysis of point-clouds in arbitrary dimensions. Sounds a bit abstract, and indeed, it is templated in every corner of the code. It’s worth the effort though, as it may be used for varied purposes such as curvature computation, surface variation computation, surface reconstruction, scale-space analysis, image processing, sketch vectorization and much more! The good news is that the module is quite easy to use and extensible thanks to its programming interface that allows you to customize it to your needs.
  • Vitelotte: This module provides tool to manipulate mesh-based vector graphics with arbitrary connectivity. It includes a generic mesh representation, a diffusion solver to generate colors from a sparse set of constraint, an OpenGL renderer and input/output through the mvg file format. This module also includes a command-line tool called mvgtk that gives access to most of the library functionalities.