effectiveness of ptex method in the field of texture mapping and … · 2020-02-11 · model. the...

6
1 Effectiveness of Ptex method in the field of Texture Mapping and Polygon Topology Andrija Bernik Department of Multimedia University North Varaždin, Croatia, Europe [email protected] Damir Vusić Department of Multimedia University North Varaždin, Croatia, Europe [email protected] Robert Geček Department of Multimedia University North Varaždin, Croatia, Europe [email protected] Abstract — This paper presents several texturing problems that occur in complex polygon topology where the model is based on tris and ngons. It also shows an experiment and describes the application of the Ptex system for mapping textures onto a 3D model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as well. A new topology model was tested using a texture checker inside Mudbox and VRay. Additionally, a comparison was made between Mantra and VRay rendering systems, where specific difficulties had occurred when applying Ptex mapping. The aim of this experiment is to present how cache memory directly interferes with texture filtering and rendering speeds. This paper concludes with the advantages and disadvantages observed in relevant literature and through an empirical approach to this technology. Keywords — per-face-texturing, ngons, retopology, VRay and Catmullrom filter I. INTRODUCTION Even today’s state-of-the-art graphics hardware, in terms of hardware texture filtering, suffers from several aliasing artifacts that are visible in extreme conditions, such as grazing viewing angles, highly warped texture coordinates, or extreme perspectives.[1] This is one of the reasons that Ptex was initially introduced in 2008.[2] Ptex is an open source product written in C ++ which can easily store a large number of textures in a single file. This texture process is intended for industry branches that require extremely high- resolution (8k+) textures in projects. It converts traditional UV space to a specialized texel system.[3] As a result, only one Ptex file is required per channel per model, since Ptex files have resolution independence across all faces. [4] The result of the above is a texturing system that doesn’t use UV maps for texturing or painting a 3D object.[5, 6] Ptex assigns a separate texture per face, thus skipping the texture unwrap entirely. It must be kept in mind that textures must be power- of-two sized (though not necessarily square) and patch adjacency data must be provided.[6] It uses adjacency pointers to access neighboring tiles since it doesn’t pre-filter tile data. These pointers must be dereferenced when ltering on tile boundaries.[7] It is also worth mentioning that the Ptex system is designed for quad-based sub-division surfaces that do not require explicit parameterization.[8] The per-face textures of Ptex are aligned with the shading grids, which always results in horizontal or vertical directions of anisotropy.[1] It ensures four main properties, which are in turn are: photo-realistic quality, generality in terms of geometric model regardless of topology, efficiency in computer resources and mapping automation.[2] The last of these properties does not agree with Kim et al[9] as far as the storage efficiency of textures goes. They stated that the Ptex Method uses a wasteful packing strategy that increases the storage cost of the textures many times over their original size. Nevertheless, we have created a 3D model where classical UV mapping isn’t efficient and introduced a Ptex workflow with rendering specs. II. DESIGN AND PARAMETERIZATION OF MODEL TOPOLOGY A complex model was selected for the elaboration of the textures in order to test the practical flexibility of Ptex (Fig. 1) and show possible problems that are common in the field of CG texturing. This is a part of the replica model of the Koruna Fortress (Fig. 2) which was modelled and analyzed entirely from scratch by Mario Kotlar (Croteam’s 3D and level artist). Fig. 1. Displaying a polygon color quality inside the Meshlab program In Fig. 1, the red polygons are those with the lowest quality, that is, polygons of the greatest elongation. When designing the model for 3D printing, it is important to achieve the optimal number of polygons because this model is not intended for sub-divisions but for printing on a 3D printer, so in this case it is important that it is non-manifold (waterproof). Fig. 2. Photographs of the Koruna fortress (Mali Ston, Dubrovnik, Croatia) 978-1-7281-2544-2/19/$31.00 ©2019 European Union

Upload: others

Post on 14-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

1

Effectiveness of Ptex method in the field of Texture Mapping and Polygon Topology

Andrija Bernik Department of Multimedia

University North Varaždin, Croatia, Europe

[email protected]

Damir Vusić Department of Multimedia

University North Varaždin, Croatia, Europe

[email protected]

Robert Geček

Department of Multimedia University North

Varaždin, Croatia, Europe [email protected]

Abstract — This paper presents several texturing problems that occur in complex polygon topology where the model is based on tris and ngons. It also shows an experiment and describes the application of the Ptex system for mapping textures onto a 3D model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as well. A new topology model was tested using a texture checker inside Mudbox and VRay. Additionally, a comparison was made between Mantra and VRay rendering systems, where specific difficulties had occurred when applying Ptex mapping. The aim of this experiment is to present how cache memory directly interferes with texture filtering and rendering speeds. This paper concludes with the advantages and disadvantages observed in relevant literature and through an empirical approach to this technology.

Keywords — per-face-texturing, ngons, retopology, VRay and Catmullrom filter

I. INTRODUCTION

Even today’s state-of-the-art graphics hardware, in terms of hardware texture filtering, suffers from several aliasing artifacts that are visible in extreme conditions, such as grazing viewing angles, highly warped texture coordinates, or extreme perspectives.[1] This is one of the reasons that Ptex was initially introduced in 2008.[2] Ptex is an open source product written in C ++ which can easily store a large number of textures in a single file. This texture process is intended for industry branches that require extremely high-resolution (8k+) textures in projects. It converts traditional UV space to a specialized texel system.[3] As a result, only one Ptex file is required per channel per model, since Ptex files have resolution independence across all faces.[4] The result of the above is a texturing system that doesn’t use UV maps for texturing or painting a 3D object.[5, 6] Ptex assigns a separate texture per face, thus skipping the texture unwrap entirely. It must be kept in mind that textures must be power-of-two sized (though not necessarily square) and patch adjacency data must be provided.[6] It uses adjacency pointers to access neighboring tiles since it doesn’t pre-filter tile data. These pointers must be dereferenced when filtering on tile boundaries.[7] It is also worth mentioning that the Ptex system is designed for quad-based sub-division surfaces that do not require explicit parameterization.[8] The per-face textures of Ptex are aligned with the shading grids, which always results in horizontal or vertical directions of anisotropy.[1] It ensures four main properties, which are in turn are: photo-realistic quality, generality in terms of geometric model regardless of topology, efficiency in

computer resources and mapping automation.[2] The last of these properties does not agree with Kim et al[9] as far as the storage efficiency of textures goes. They stated that the Ptex Method uses a wasteful packing strategy that increases the storage cost of the textures many times over their original size. Nevertheless, we have created a 3D model where classical UV mapping isn’t efficient and introduced a Ptex workflow with rendering specs.

II. DESIGN AND PARAMETERIZATION OF

MODEL TOPOLOGY

A complex model was selected for the elaboration of the textures in order to test the practical flexibility of Ptex (Fig. 1) and show possible problems that are common in the field of CG texturing. This is a part of the replica model of the Koruna Fortress (Fig. 2) which was modelled and analyzed entirely from scratch by Mario Kotlar (Croteam’s 3D and level artist).

Fig. 1. Displaying a polygon color quality inside the Meshlab program

In Fig. 1, the red polygons are those with the lowest

quality, that is, polygons of the greatest elongation. When designing the model for 3D printing, it is important to achieve the optimal number of polygons because this model is not intended for sub-divisions but for printing on a 3D printer, so in this case it is important that it is non-manifold (waterproof).

Fig. 2. Photographs of the Koruna fortress (Mali Ston, Dubrovnik, Croatia)

978-1-7281-2544-2/19/$31.00 ©2019 European Union

Page 2: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

2

Fig. 3. Texture Checker on the left is shown in Mudbox and on the right in 3D Coat

This led to a topology that was expected to be problematic

for Ptex. Problems have been shown to be higher than expected. Significant distortions of texture appeared in Mudbox and in 3D Coat as well (Fig. 3). A possible solution to this problem suggested converting elongated trunks into ngons. The result was a complex ngon system. It is known that ngons are quite problematic to work with. Additionally, Mudbox probably does not process them in the correct manner described in the Ptex standard, as can be seen from the distortion form. If Mudbox uses sub-faces in the way it should, they should look different in the Ptex set-up stage. However, Mudbox does not process ngons in the way it should (via sub-folders), it seems that it divides them into the tris system. This could be related to the fact that Mudbox still uses UV folders to display Ptex in the viewport, which can be concluded from the way in which the polygons containing the minimum level of texels (they have seams) are displayed, rather than from the fact that it creates temporary .tif files while working which otherwise should not be needed. Also, the fact remains that, during the opening of the .mud model with Ptex texture, Baking UVs are written in the status line, which is an action that should not normally be needed unless UV maps are used.[10]

Fig. 4. Mapping under different projecting angles. From left to right: Maya, Mudbox (frontal projection) and Mudbox (projection at an angle)

Another 3D object topology test was to test the results of

tris, quads and ngons of different shapes. It turned out to be an important factor in projecting the texture while looking at the polygon as straight as possible, i.e. at the correct (90°) angle (Fig. 4). It can be concluded that the optimal drawing of textures in Mudbox is possible only if the model has a relatively good topology (that the polygons are as short as they are elongated) or, if the topology is poor, at a high resolution in textile textures is projected at the correct (90°) angle. The next thing to examine is the efficient use of high resolution in texels and projection at the correct (90°) angle to achieve satisfactory results (Fig. 4).

Fig. 5. Examination of poor topology drawing abilities

Fig. 5 shows four divisions that, in turn, represent the

following: a) A common high resolution. It is noticeable that

distortions are still present, b) An extremely high resolution of 52 million texels

(roughly a resolution of 7,400 × 7,400 pixel in means of traditional texture) is localized to 4.4% of the model’s surface area, as calculated using Blender, which means that this resolution would require 1.17 billion texels for the whole model (similar to a traditional texture of 42,000 × 42,000 pixels). However, in practice with Ptex, the amount of required texels would be less than that, because the texture resolution would be localized only in places on the model where it is required. In spite of this, this resolution is still far too high for our testing (a mid-end, dual core) machine to work effectively,

c) At extremely high resolution, the texture looks bright, even at considerable magnification, and

d) When magnified, it can be seen that the topology still causes a disproportionate distribution of resolution and the occurrence of distortion in certain parts of the model.

From this experiment (Fig. 5), the conclusion is that a

model with such topology is impossible or almost impossible to texture with the Ptex method using the tools available. It would be far simpler and more optimal to texture this model using traditional UV mapping. The only solution left in this case is to repair the model topology (Fig. 6) so that it can be textured by the Ptex method. To avoid manually repairing the model’s topology, which takes a lot of time, automated methods were investigated.

After many unsuccessful attempts to reparameter the topology using Meshlab, success was achieved using 3D Coat and its Auto-Retopology tool.[11] The model with the new topology was opened using Blender and, once a sub-division was made to increase the polygon density, the shrinkwrap modifier was used in order to reposition all the points of the new model in relation to the closest matching points on the surface of the original model. This further sharpened the new model and made it even more similar to the original model.[12]

Page 3: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

3

Fig. 6. Comparison of old and new polygon topologies

The number of polygons in the process increased from

6,899 to 148,216, which is 21 times more. The number of polygons in this case is not so important, because it will not significantly increase the time required to plot. By comparing the old and new topology, seen in Fig. 6, one can notice the following:

• Fig.s a) and b) represent the model before and after the change of topology. There is a visible level of change in shape between the two models, which in this case is not only insignificant, but is already in its favor, because it is natural for such a model (the ruin of the castle) to have less sharp and regular edges, and

• Fig.s c) and d) show the wireframe before and after changing the topology. From this it can be seen that the elongation of the polygon has now drastically decreased, and the model now consists almost entirely of quads.

In the case of real-time animation, it is possible to use the original model as the ideal render proxy to optimize the number of polygons in the viewport, since Ptex is not intended for use in animation.[1, 6]

A small, but negligible, amount of distortion is mainly present due to the fact that high resolution was not used in the texels. For parts of the models that are intended to be displayed in close proximity, the resolution in texels should be increased in order to obtain a greater sharpness and detail of the texture which, at the same time, will eliminate these small amounts of distortion. Ptex is a method for which no parameterization is required. Nevertheless, the option of manually determining the location of a larger and lesser texture resolution is enabled. It is not necessary to create a Ptex texture, but it is certainly recommended as it will result in an optimal and more detailed texture.

In the follow-up this model was divided into five different resolution areas. The initial resolution of the model first decreased at the margins by one (Fig. 7.a). After that, a general interest area was selected where the resolution doubled (Fig. 7.b). The area of exceptional interest, which is closer to the camera, is intended to be further textured from the rest of the model and, for that reason, the resolution doubled twice (Fig. 7.c). Finally, an area of vast resolution was added that could be closest to the camera without having the issue of losing details (Fig. 7.d), as this is exactly one of the main advantages of the Ptex method.

Fig. 7. Distribution of the texel’s resolution level at a) minimum resolution x1, b) x4, c) x8 and d) x16

III. MAKING AND CUSTOMIZING PTEX TEXTURE

After splitting the resolution, the next step was to draw the texture itself. The next series of Fig.s (8-9) shows a part of the texture creation process.

Fig. 8 shows the level of detail that is allowed by the large resolution area by adding detailed moss.

Fig. 8. Texture production process (1/2) using the Stencil Tool

Fig. 9. Texture production process (2/2) using the Stencil Tool

Page 4: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

4

The stencil tool is used to set the basic texture of stones and then dodge, burn and contrast tools provide the look shown on the right. Finishing the texture by darkening and illuminating certain parts of the texture across the entire model is used to break the monotone repetition of the tile’s seamless texture, and a) before, b) after c) and the size of the area are shown in Fig. 10.

Fig. 10. Finished texture

Fig. 10 shows the level of resolution that is provided by

the huge resolution area. Certainly, the resolution can be further increased as much as needed, as a), b) and c) show the different levels of image magnification, in comparison to the previous level, to better demonstrate the local resolution that Ptex can provide.

After the texture was completed, it was saved as .ptx (Ptex format) and loaded in Maya under the color texture of the Lambert Material to demonstrate Ptex texture display using the 2.0. Maya Viewport. It was also necessary to increase the value of bake resolution for unsupported textures > Color Textures to obtain the resolution needed in the viewport, which depends on the purpose for which the texture in the viewport is required (Fig. 11).

Fig. 11. View of Ptex texture in the Viewport 2.0 within Maya

In Fig. 11, the following divisions are visible: a) a basic resolution of 256 pixels, b) a resolution increased to 2,048 pixels, and c) a resolution increased to a maximum of 8,192 pixels.

The 2.0 Viewport does not yet display the “true” Ptex texture, but is banished into UV folders within its system. This is why even with the highest resolution of 8,192 pixels, it is not possible to see all the levels of detail drawn in Mudbox. Occasional displays are also displayed. None of this is a problem if you intend to use an external rendering engine such as VRay instead of a Viewport 2.0 renderer called Maya Hardware 2.0, which is almost always the case. To draw Ptex using VRay, you need to add a VRay Ptex node and map it to a color field such as Lambert or, in this case, VRayMtl. The path of the ptx texture is defined in the properties of the VRay Ptex node.[13]

Fig. 12. Rendering using VRay filters Fig. 12 contains divisions that in turn represent the

following: a) A render with the initial settings, b) A render with a CatmullRom filter (also known as a

sharpening filter), c) A render with a CatmullRom filter and the same texture as

a bump map, d) A render from a closer proximity using a CatmullRom

filter, e) A render from even greater proximity, using a

CatmullRom filter, and f) A render proximity with a bump map and Lanczos filter.

It can be concluded that rendering with VRay had insufficient quality (Fig. 12), that is, the results were not of production quality. All renderers have a significant lack of resolution and sharpness of the texture, so much so it can be said that some parts of the texture are blurred (a), and this is in cases where polygons have a diagonally-stretched topology. Resolution of the problem of blurred texture was attempted with a CatmullRom filter, which was somewhat, but insufficiently helpful (b).

Page 5: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

5

It is also noticeable that rendering duration is more than 10 times higher than it should be for a model of this complexity and texture resolution. It turned out that the addition of a bump map did not have a significant impact on the sharpness and detail of the texture, but it added an additional 7 minutes (overall 57 min) to the already too high rendering time, which was absolutely unacceptable (c). When the camera approaches, it is evident that all Mudbox details are present at all levels of resolution, but the texture was still too dull (d and e). Adding a bump map made the rendering somewhat better from the vicinity (although the bump map in this case was probably a bit too strong and if it was left like that the difference would be more clear), but not sufficiently so. It is interesting to note that the rendering time with the camera's zooming was reduced up to 10 times, which should not be the case. As far as other Ptex renderers, only the Mantra Renderer (the Houdini Program Renderer) and Stripes (the Mental Ray Plugin for Maya and 3ds Max) were available for this test. Unexpectedly Stripes failed to run for Maya or 3ds Max.

Stripes is a simple and free program and plugin, which was in the alpha stage of development, so instability and unreliability were not surprising. When trying to render the Ptex texture in Houdini using Mantra, it turns out that it is necessary to reverse the order of the objects’ vertexes in order to display the texture correctly. Fortunately, Houdini possesses tools for this.[14] After rendering with Mantra almost identical problems as with VRay appeared, excluding the exceptionally long duration of the rendering. Render in Mantra also resulted in blurry texture, but it was at a normal speed. It took about 20-50 seconds for the rendering (depending on the distance of the camera), for which VRay needed 10 minutes. In Mantra, the distance of the camera did not affect the duration of the rendering, as it should be. The very fact that the same problems also occurred in Mantra leads to the conclusion that there may have been something wrong in the way the texture was prepared for export from Mudbox. It turns out that there are no additional export options in Mudbox, except for choosing the number of colors (8-bit integer, 16-bit integer, 16-bit float and 32-bit float).

Looking for features in Maya, it's clear that some VRay-related Ptex preferences can be changed within the VRay Ptex node. It turned out that earlier attempts to change filters inside VRay were a failure, as these settings were related to filtering geometry. Here was the Filter Type option where it was possible to select a texture filter, extinguish it or select the width of the filters and the optional Blur parameter.

The Sharpness parameter is only offered if a bilinear is selected for the filter type. The interpolation between the mipmap levels parameter was turned off, and it turned out that its inclusion only exacerbated the blurred texture. There is also the reverse vertex order feature that has the same functionality as the reverse node in Houdini, with the exception that if the starting value is off, Mudbox compatibility should also be off, and in Houdini the same values should be the inverse (i.e. on). The problem with the need for inversion arises from the fact that the .obj format can be written in several ways, while some applications write elements inside the format in a different order.

When quenching texture filtering in the VRay Ptex node settings, the render became extremely fast, regardless of the distance of the camera (about 20 seconds per frame), and the

texture became extremely sharp (identical to its display in Mudbox). Of course, texture filtering exists for a number of reasons, and it turned out that it is not the best idea to turn this option off every time. The shutdown of the texture filtering resulted in texture graininess that does not work in a real way, that is, it could be said that the texture is too sharp. An even more important consequence of shutting down the filter is the occurrence of a time aliasing, that is, an aliasing that is noticeable as an inconsistency between animation frames. To demonstrate this aliasing speed, which cannot be displayed with a picture, 100 frames of short animation of moving camera towards the castle were rendered. Experimenting with different filters revealed that a good balance of texture sharpness and the amount of allowed filtering was accomplished with a Box filter width of 0.4, which could be understood as a box filter with a level of 40% of the usual application. (Fig. 13). This approach reduces the timing to an almost imperceptible level as it is quite acceptable. Aliasing speed becomes completely inconspicuous when using motion blur, which is always the case in production. It should be noted that the use of motion blur significantly increases the duration of the rendering.

Fig. 13. On the left are renderings without texture filtering and on the right are final renders with a 0.4 Box Width Filter

Another interesting and very important thing to find is

that increasing the Cache Size (MB) variables in the VRay Ptex node settings result in normalizing the rendering speed, regardless of the distance of the camera. The basic value of a 1 MB cache size is, at a minimum, ridiculous, which leads to the conclusion that they were probably left as a baseline by mistake. In real terms, the production of very complex mathematical texture filtering algorithms is not ideal when working with only 1 MB of RAM, because it results in an increased rendering duration (33 times more in this case and probably far more for more complex scenes). Increasing the variable to 100 MB completely solves the problem of lack of memory for filtering, but in practice it is also useful to use more values. When VRay has access to a sufficient amount of RAM for filtering, then filtering only increases the lifespan of the render by a 5% (as opposed to ~ 3,200% when 1MB of RAM is available). The option to set the width of the filter, which was of great help to VRay, does not exist in Mantra.

Page 6: Effectiveness of Ptex method in the field of Texture Mapping and … · 2020-02-11 · model. The topology parameterization using 3D Coat and its auto-retopology tools are shown as

6

IV. DISCUSSION: SHORTCOMINGS AND PREDICTIONS

Texture mapping is a process of adding details to the 2D or 3D model surface. There are several types of map projections which can be found throughout the literature such as: planar, spherical, cylindrical and so on. Those maps can’t solve the problem of extremely high resolutions which is why Ptex method was introduced.[15] The only drawback to the Ptex method is that it is a relatively new system, which is why it is not yet widely supported in all software tools. Some might also consider that, when using older versions of the Maya and VRay rendering engines, it is not possible to see textures in the viewport or set them so that they can be seen in the viewport using Viewport 2.0, as then they will not be rendered in VRay engine. The reason for this is the way VRay renderer works, that is, the path of the texture must be defined using a special VRay Ptex node, and when the texture is mapped through it, it is not visible in Viewport 2.0 (Viewport 1.0 can display Ptex only with third-party plugins that can be unreliable). It should be additionally assessed whether the precise assumption is that there is a way in Maya to achieve the display of one shader in the viewport, and another shader in the render, which would successfully solve this problem.

It is assumed that the same problems do not occur when using the PRMan renderer, because it has supported Ptex for more than 5 years. Unfortunately, this could not be confirmed, because it was not possible to access the software for the purposes of this experiment. Using the Ptex file from 3D Coat to render with Maya Viewport 2.0 or VRay resulted in a scattered texture, although it's possible that it works well with other programs, such as Cinema 4D, PRMan, etc. It is probably just a temporary problem (i.e. a bug), but this is simply an overview of the current situation.

These shortcomings are only due to the fact that Ptex has only recently become popular. Implementation of Ptex started rapidly a few years ago, and it is expected that all commonly-used programs will have full and integrated Ptex support.

V. CONCLUSION

Effective use of the Ptex method for users who are not part of the production industry is already possible, but this requires the additional knowledge and experience shown in the experimental part of this paper. Ptex is a method for which no parameterization is required. The problem is observed in situations where polygons are elongated, as this results in additional blurry texture at the time of the camera transition (timing aliasing).

The problem of blurry polygons can be resolved by increasing the resolution of the model and the creation a new topology using some of the specialized tools (e.g. 3D Coat). Increasing the number of polygons does not have a significant impact on the length of the rendering time. On the other hand, the problem with blur can be resolved by blurring the camera (motion blur), but this results in a multiple increase in total rendering time. One curiosity to pay attention to, which contributes to the speed of rendering, is certainly the size of the cache memory, which depends on the program itself.

For UV mapping, it is expected that this will not become redundant, primarily as there are cases that are too simple for Ptex or there is a specific need for the texture to be readable by a 2D drawing program. As far as the gaming industry is concerned, no predictions have been made about whether the Ptex method will be upgraded, adapted and one day, used to make games. Ptex is likely to be implemented over almost all 3D CGI production tools over the next few years and will slowly become the primary method for mapping textures due to its numerous advantages over the UV mapping method.

REFERENCES

[1] P. Mavridis, and G. Papaioannou, “High-quality Elliptical Texture Filtering on GPU”, In Symposium on Interactive 3D Graphics and Games, ACM, February 2011, pp. 23-30

[2] B. Burley, and D. Lacewell, “Ptex: Per-Face Texture Mapping for Production Rendering”, In Computer Graphics Forum 2008 Jun 1 (Vol. 27, No. 4), Blackwell Publishing Ltd., pp. 1155-1164

[3] A. Bernik, and M. Kotlar, “Ptex System for Advanced Texture Mapping”, Journal for Printing Science and Graphic Communications (Acta Graphica), 29(1), 2018, pp. 15-24

[4] L. Lanier, “Advanced Maya Texturing and Lighting”, John Wiley and Sons, 2015, pp. 252

[5] Min-Zhi Chin, “Naga: Combining 2D and 3D Animation”, The Honors College, East Tennessee State University, 2013

[6] J. McDonald Jr, and B. Burley, “Per-face Texture Mapping for Real-time Rendering”, In ACM SIGGRAPH 2011 Studio Talks, ACM, pp. 3, August 2011

[7] M. Nießner, and C. Loop, “Analytic Displacement Mapping Using Hardware Tessellation”, ACM Transactions on Graphics (TOG), 32(3), pp. 26, 2013

[8] C. Koniaris, D. Cosker, X. Yang, and K. Mitchell, “Survey of Texture Mapping Techniques for Representing and Rendering Volumetric Mesostructure”, Journal of Computer Graphics Techniques, 2014

[9] S. Kim, K. Hillesland, and J. Hensley, “A Space-efficient and Hardware-friendly Implementation of Ptex”, In SIGGRAPH Asia 2011 Sketches, ACM, pp. 31, December 2011

[10] S. Todorovic, N. Ahuja, “Texel-based Texture Segmentation”, In Computer Vision, 2009 IEEE 12th International Conference, pp. 841-848, September 2009

[11] J. Javis “3D-Coat Online Documentation”, 3dcoat, 2014., available at: http://3dcoat.com/manual/retopo/248-autopo/, accessed July 4, 2019

[12] Blender 2.79 Manual: Shrinkwrap Modifier, available at: https://docs.blender.org/manual/en/latest/modeling/modifiers/deform/shrinkwrap.html, accessed February 12, 2019

[13] Chaos Software Ltd: PTex Map and VRayPtex, available at: https://docs.chaosgroup.com/display/vray3maya/ptex+map+%7c+vrayptex, accessed July 4, 2019

[14] Sidefx Hudini: Understanding Mantra Rendering, available at: http://www.sidefx.com/docs/houdini/render/understanding.html, accessed: July 4, 2019

[15] H. Wang, Huamin. “Texture Mapping”, department of Computer Science and Engineering. Ohio State University, available at: http://web.cse.ohio-state.edu/~wang.3602/courses/cse5542-2013-spring/15-texture.pdf, accessed: September 2, 2019.