Ptex Tools
We have some tools so that we can convert our UV data to ptex and vice-versa. In addition to some tools to be able to paint our ptex texture and visualize them. This tools were done before I started at Blizzard but I have been one of the main people maintaining and improving these tools in recent years.
One of the main projects improving our current process was allowing to work per-UDIM when mapping our ptex textures to UV. This helps provide the option of reduced time if the artists only wants some specific UDIMs in addition to allowing for more detail from the subdivision process since we can do the UDIMs separately. We use OpenSubdiv to subdivide the UVs to obtain more detail and then map the texture in OpenGL to be able to get the colors for the UVs. There is a limit to the amount of data we can pass to OpenGL so going per-UDIM allows for more detail in OpenGL since we are creating a texture per-UDIM. I also investigated the different options in OpenSubdiv to find the best results, such as Sparse Patch Tables and the face-varying interpolation options.
For testing purposes, I also included a simple command to be able to create a checkered ptex texture from and alembic mesh. This way we can easily visualize the results from the mapping of the ptex texture to UVs and the checkered design allows us to see the flow of the texture.
Used:
-
Ptex
-
C++
-
OpenMP
-
OpenGL
-
OpenSubdiv