ISampler - Texture Resynthesis


The ISampler module takes a small sample patch of any material and renders a greater, seamless texture from it. For this, the internal structure of the source is analyzed and re-ordered to get a homogeneous texture without visible borders. Good sample patches feature a lot of small, well-distributed details and structures like in the images above.

You can use the ISampler to get a bunch of similar surfaces from a single texture, e.g. if you create a map for a 3D game and need the same material at different places that must not look equally. Let the ISampler render several variations of the materials and use e.g. the Make Seamless/Blend with Source function to combine them.

If your sample patch is not seamless, activate the Ignore Borders checkbox. The Smooth option is useful, if your sample patch is very noisy or its contrast  is too high (e.g. letters or a black/white pattern).

Greater details are lost or distract the resampler from working properly. These are e.g. brightness gradients that come from illumation of the sample patch. Activate the option Homogenize to remove the gradients.

The structure of a texture is determined by each pixel and its neighborhood. If you increase the Radius value, greater details or features of the texture are captured. Experiment with the value until you get results that satisfy you. A greater value also means longer rendering times, which can get quite high. You can lower the rendering precision to save time by increasing the Threshold value, but high threshold values can lead to artifacts and cause visible seams.

The option RGB Scanning makes the ISampler to use colored data for the calculation and not the monochrome values. For most textures this is not necessary and makes the process slower. If you have a very colorful sample patch and get bad results, try to activate that option.

Animal skin like fur and scales are good sources for sample data.

The grain of the wood can be resampled, but the greater structures are lost.

The green parts at the bark sample resulted in distracting spots on the new texture. It's best to cut them away before using the ISampler.

Tip: Call the isample command to convert textures within scripts.