Tile Noise

The tile noise can be used to generate seamless transitions over UV borders. This is practical when working with large areas and shuffling data around in texture space without leaving any visible seams. If you are a game content creator, you may find this shader interesting in your workflow.

The procedural is a construct of Perlin noise and the Voronoi pattern.

Let’s try and compare a regular noise map to the superior Tile Noise.

3DS Max Legacy noise. Seams visible, looks nasty!The improved OSL Tile Noise experience!

Drag the arrow left and right to see the difference

You can download the shader right here.


User interface:

Feature set descriptions

Detail level:

Increasing the detail level will add more passes to the voronoi pattern.
You can use low values with advantage to drive some larger areas, opposed to some very fine and detailed structures using high values.
Values over 6 wont  show from the distance.

Detail level: 1

Detail level: 2

Detail level: 3

Voronoi scale:

Scale the voronoi pattern up or down.

Voronoi scale: 1

Voronoi scale: 3

Voronoi scale: 5

Voronoi amplitude:

Use the Voronoi amplitude to control the clipping of the spheres.
Lower amplitudes include more volume, higher amplitudes cuts the volume from beneath towards surface.

Voronoi amplitude 0.7

Voronoi amplitude 1.0

Voronoi amplitude 1.6

Voronoi gamma:

A seperate gamma correction to lift the pattern out of a constrasty scenario, you can flatten the data channel with this float value, and you can create some interesting splotches which would be good for controlling reflections, or grease stains, or whatever you can think of where small random chunks would be good to control an effect with.

Voronoi gamma 1.0

Voronoi gamma 10.0

Voronoi gamma 50.0

Perlin scale:

Use this float value to control the size of the Perlin noise.
A value about 3 gives a relatively large and uniform area where a value around 23 for example gives a much finer and contrasty structure.

Perlin scale 3.0

Perlin scale 8.0

Perlin scale 23

Mix Amount:

This is a float mixer that controls wether the Voronoi or the Perlin noise dominates the expression.
You can use non-linear data feeds, such as other noises to drive interesting mixing values across the surface.

Mix amount 0.0

Mix amount 0.0

Mix amount 0.5

Mix amount 1.0

Warp amount:

The Warp amount introduces visible stepping which can bring out interesting procedural shapes that can be used as masks in junction with other noises.
A value around 3.8 thins out the stepping and higher values gives less and less change as the number rises.

Warp amount 0.3

Warp amount 1.0

Warp amount 3.8


A general master gamma, giving the option to quickly raise or lower the mids and darks towards light without introducing clipping.

Gamma 1.0

Gamma 2.2

Gamma 4.0


Use the shuffle value to generate a new random seed. It can be practical to seed variants across the surface.

Shuffle 1

Shuffle 2

Shuffle 3

UV input:

You need to feed a default UV space before the shader works correctly.
Add a UV space, use a UVW Map, or a UV Transform node as in this example.
You can rotate, orient and find the ideal position of the main UV with the UV Transform node, so it is prefered over a regular static UVW Map in many cases.

UV Transform connected to UV input

Conclusion and experiments:

So, it’s quite easy to force out various types of masks, the Tile Noise OSL Shader has several features that can be constructed by sub components, so the possibilities are virtually endless.
You may find that this shader will cut production time, as you do not need to handle the border seam manually – by doing tricks in Photoshop or something simular.

All content on this site is Copyrighted by masd.dk 2019, all rights reserved.