Art by Alexandr Novtskiy

Third Party Application Integration

Rizom-Lab gives access to its renowned RizomUV’s technology into RizomUV C++ Library.

From the blasting fast and robust Unfold algorithm to the hierarchical Packing, passing by the quasi-perfect stretch reducer, its simple C++ interface along with specific and experienced technical support from Rizom-Lab can elevate your own 3D product or your company in house application to the top level UV mappers in the world-wide market.

RizomUV C++ library comes with client specific agreements depending of what you do with it.



Beneficiate from 14 years of R&D in UV parametrization accessible thru a simple and ready-to-use API.



Our technology core has been successfully integrated into Autodesk© SOFTIMAGE© and Autodesk© MAYA©. The integration can done on client side with a specific tech integration support from Rizom-Lab.



Contains almost all you can imagine in terms of automatic UV tools. We advise you to download and test our free evaluation version of RizomUV Virtual Space or RizomUV Real Space Standalone (our full application with UI) so that you may discover what you could do by integrating our C++ library in your own application and your its own UI. Our standalone application is a perfect demonstrator of what our C++ Library allows to do.



Available for Linux / Windows / OSX. Compatible with Visual C++ compilers, modern Clang, and modern GCC.


This is an example of what can be a task sequence of our C++ Library. This one takes as input some mesh data coming from files or from an host application memory, then processes it using several tasks (selection, UV topology change, flattening and packing) then finally exports it into file or the host application memory.

The task sequence can obviously be modified by calling the tasks in a different order. Combining tasks with other ones permits to answer to most of the needs of a UV mapping application.

A simple texture baking application would use the linear sequence:


while more complex ones, like the RizomUV standalone application, will use each task or a combination of them for each of their embedded UV tools. In the same kind of idea, graph nodal applications would wrap each of these tasks into dedicated nodes.


Main Features List

The library’s API encapsulates and gives access the following algorithms that are runnable thru a single API entry point that take as input a task type ID and a dynamically nested structure fed of C++98 standard elements serving as task parameter.

Is a toolset capable of segmenting meshes into smaller parts (named shells) and make the necessary topology changes so that all of them become developable. All the following algorithms can be combined to give seams in a single API call:
Hiearchical-Pelt: Make mesh seams like a tanner would do by doing an single cut line that link mesh extremities. This is ideal for unwrapping characters and trees.

Mosaïc: Find developable mesh sub features. It is well adapted to big terrains and heavy meshes.
Box: Well adapted to hard surface meshes like buildings or vehicles.
Sharpest Angles: Split sharpest edges. It sometimes gives better results that “Box”.
Handle Cutter: Analyse topology and add seams so that the mesh become topologically equivalent to a disk.
ReWeld: Stitch already flattened shells by evaluating many pair combinations in order to reduce the shell count and the cut line’s length.
Disto Control: Analyse already flattened shells and if too much distorsion or overlaps are found more cut lines are added.
Smooth: Smoothing is very useful when dealing with meshes coming from photogrammetry that have to many protuberant features. Smoothing them greatly reduce the final shell count.

The Unfolding algorithm present in our technology has been rewritten 5 times since its first ABF version done in 2003. It is now able to flatten a single island composed of several hundred thousand triangles in few seconds. It has the options to give unfolding without overlaps nor triangle flips. Unfold is also capable of working with different kind of constraints on edge orientations, and point positions (pinning). The pinning can be controlled by weight maps (allowing soft contraints).
Optimize is a stretch reducer that use distance based stretch signal. It gives far better results that classical conformal methods (ABF like or LSCM or even authalic ones). Our clients says that we have the best stretch reducer available on the market. It is robust and adapted to badly tesselated NURBS meshes coming from the CAD industry. And like Unfold, Optimize takes the constrains set into account and prevent the creation of overlaps and triangles flips.
The new packing algorithm is extremely fast and highly utilizes the UV space. It is also capable of grouping shells, locking shells, stacking shells, and allows to set different properties to the shells independently. Among other things, it proposes many options to orient and scale shells and set their texel density.
The mesh input module has two modes. One take the mesh input polygons with tesselation already done externally for best performance, the other take polygons and do topology and mesh sanity checks. It is up to the API client to determine the best option.
Shells that have same topology are detected and can have their coordinates or selection state copied from one shell to the similar ones.
The library contains specific tools to distribute shells among UV tiles and handle shells assignation while packing is ran.
It would seems simple at first sight to handle symmetry but it is not at all. Unfold, Optimize and Auto Seams source codes have been deeply adapted to handle symmetry in a correct manner.
The real time engine allows to deform the UV mesh interactively while respecting the given constraints. At each update a subset of the optimize algorithm is executed so that the distorsion stay minimal while editing the mesh. The API proposes a cache system to give fast refresh updates even with heavy meshes.
All algorithms can be applied to a mesh subset or using a brush. The API segments the selection set (which can be selection of points/edges/polygons/shell) in distinct connected parts and add constrains on set limits when necessary automatically.
The API contains several dozen of tools to manipulate UV coordinates and shells. Theses are the basic tools that can be found in most of UV editor present on the market.
Optimize can be tweaked using weight maps, so that the final texel density can be spatially controlled. Auto Seams can read weight map and prevent painted areas to be cut. The smoothing algorithm amplitude can also be controlled using weight maps as well as the pinning map for Optimize.


Tell us what would you want to do with our toolset, and let discuss how we could work together to answer your UV mapping needs. Our licensing system is very modern and allows almost all possible licensing models.