The Rendering Pipeline – Challenges & Next Steps
Master thesis by Johan Beck-Norén (Linköping University) done at DICE in Frostbite.
We investigate the mesh colors method for per-face parameterization for texture-mapping of geometry, implemented in the game engine Frostbite 3, for the purpose of evaluating the method compared to traditional texture-mapping in a real-time application.
Traditional UV-mapping often causes discontinuities which commonly results in visible seams in the end results. If any change is done to the vertex positions or the topology, a remapping of the UV-map has the be done. Mesh colors aims to avoid these problems by skipping the transformation to 2D space as in UV-mapping, and associating color samples directly with the geometry of a mesh.
The implementation was done in Frostbite 3 in C++ and HLSL shader code, and rendered with the DirectX graphics API. The results show that mesh colors is a viable alternative in a real-time renderer. Though not as fast as regular UV-mapped textures due to lack of hardware accelerated filtering operations, mesh colors is a realistic alternative for special cases where regular texture-mapping would be cumbersome to work with or produce sub-par results.
Possible areas of future research are efficient data structures suitable to handle data inseration dynamically, compression of mesh colors data, and mesh colors in the context of mesh LOD generation.