Datakit enriches its range of tools for importing and exporting 3D files, by providing some of them with functionalities allowing the conversion of files with their textures. The opportunity to take stock of what these textures are and to discover with Guillaume Levenq, how they are processed in Datakit tools, to obtain high quality realistic renderings when converting 3D files.
Datakit announced in September that his writing tools for glTF and FBX formats, as well as its plug-ins for Rhino, support textures. An announcement that completes the already full range of existing tools. But let's see what is behind the concept of texture.
Improve 3D visualization
The correct visualization of 3D objects, both in imaging and CAD, requires having, on the one hand, an exact and flawless geometry, and on the other hand colors and/or textures applied with precision on the faces of these objects. So many skills that Datakit mastered during the conversion process from one system to another.
"To put it simply, a texture is a 2D image that is placed as precisely as possible on a 2D or 3D surface of an object, so as to dress it up to make the visualization more realistic", explains Guillaume Levenq, development engineer at Datakit. These images can be either simple flat areas of color, or real images representing, for example, a material "These images most often come from texture libraries, either standard or specific to the editor of the authoring 3D software. These authoring software programs use "mapping" algorithms, again standard or proprietary, to apply them to the surfaces, which fill the surface by assigning each pixel of the image to a 3D pixel of the surface. These are the so-called procedural textures."
From texture to rendering
To be usable, this "mapping" information must be supplemented by "lighting" information, describing the lighting characteristics of the object (ambient, diffuse, specular light, etc.), its intensity, as well as the behavior of surfaces with respect to light (absorption, refraction, reflection, transmission, etc.).
It is the joint use of the base image with the "mapping" and "lighting" information, which constitutes the "rendering", giving a realistic rendering of a 3D object, in a given light environment. "So much information that it is necessary to retrieve, understand and translate, when we want to transfer a realistic 3D object from one system to another", specifies Guillaume Levenq.
How to convert the textures?
When converting from one system to another, the 3D object is recovered, most often in the form of files in B-Rep or Mesh formats, with the "rendering" information that will be applied to it (image, mapping, lighting).
When converting the 3D object from one format to another, in addition to translating the geometry, it is necessary to calculate from the "mapping" information the coordinates of the texture on the Mesh generated by the tessellation, to apply the image correctly on the 3D, then apply the "lighting" information to it to have a correct "rendering" of the object.
If the theory is simple, it is often more complicated in reality and this is where all of Datakit's know-how is expressed. "The mapping algorithms used by the various authoring software are almost standard, but with very slight variations from one to another. We have therefore developed our own "mapping" algorithm, which makes it possible to avoid as much as possible any texture shifts during conversion, regardless of the authoring software, which seems to be perfectly suitable for users of our converters", notes Guillaume Levenq .
"But we can also have textures whose format we don't know how to manage. Apart from the standard formats of external images, we can only give information about the presence of an image and the way to get there. In this case, if you want to generate a 3D PDF file, for example, (a format that needs to read the image and embed the associated pixel array) the textured rendering will not be available. On the other hand, for the supported image formats (jpeg, bmp, gif, tiff, png, tga), the 3DPDF will then benefit from the desired realistic rendering, which is very telling, even for occasional users of 3D software."
A technology available to users and developers
"More generally, we support the conversion of files with their textures in our stand-alone converter CrossManager, as long as the input and output support textures", specifies Félix Thuilier, web marketing manager at Datakit. In fact, the converted object will keep its textures, if the input format is part of the available reading libraries and if the output format is part of the writing libraries, which are also available. "This already represents dozens of possible combinations, and we regularly enrich these libraries to increase our offer. This is what we just did by adding texture support in our glTF and FBX writers, as well as in our plug-ins for Rhino", adds Félix Thuilier.
"So for end users, whether they are using our standalone converter CrossManager or our plug-ins CrossCad/Plg, it becomes very easy to convert 3D models from one format to another, while retaining the textures which were applied to them to benefit from a realistic visualization".
"These technologies are also available to software vendors, be it CAD, visualization, virtual reality, or other areas, through our CrossCad/Ware libraries. This provides developers with a fully documented programming interface (API), simplifying interoperability between CAD systems. It facilitates the import of textured 3D files into their own software and the exports of textured 3D files to other systems, in order to have in all cases a visualization of the model that is as realistic as possible", concludes Félix Thuilier.
It will be understood that the conversion of 3D models from one system to another requires a perfect understanding of their geometry, but also of the textures that dress them, in order to make them as realistic as possible for easier interpretation. So much know-how that Datakit has fully mastered for a long time and continues to enrich.