top of page
  • Thomas Deliot and Eric Heitz

[GPU Zen 2] Procedural Stochastic Textures by Tiling and Blending


This chapter is the result of my internship's work on Eric Heitz and Fabrice Neyret's HPG 2018 publication High-Performance By-Example Noise using a Histogram-Preserving Blending Operator, under the supervision of Eric Heitz at Unity Labs, available in print in GPU Zen 2.

It provides simplications and practical details that address the feedback collected from users of the original paper :

• Replaced the 3D optimal transport solver for histogram transport with three 1D histogram transformations, greatly reducing computation times. We show that results are still acceptable in most cases after changing the space used for the transformations.

• Fixed the problem of colour deviation appearing when the original technique was used with modern rendering engine features such as Mipmapping and Anisotropic Filtering, by adding a prefiltering algorithm to the look-up table. This enables the use of the method by artists in current production pipelines, by respecting the example texture's characteristics at all times.

• We discuss how to modify the implementation of the original paper's algorithm to enable the use of compressed texture formats such as DXT without introducing unwanted artefacts, further enhancing the technique's usability in modern rendering engines.

The chapter comes with an OpenGL demo that implements these improvements.

Downloads


bottom of page