Original size 1140x1600

Hazy Materials

PROTECT STATUS: not protected
Longread translated automatically

During my walks, I often practice engaged observation—when I need to find specific objects or qualities and document them. For this project, I decided to use materials gathered from one of my mini-trips, where I collected textures: moss, rust, various patterns, bark—anything that caught my eye in terms of texture.

I later used photographs like these for design experiments, so I decided to train a neural network using 32 of my shots from that foggy walk—to always have an unlimited supply of material for my creative work. The neural network learned to generate new textures in the same mood—and, along the way, it learned my way of looking at the world.

big
Original size 3602x1201

Example source photographs

Project Idea

I used to gather textures manually, during walks, with my phone in hand. This meant every photo represented just one single surface, and if I lacked another, I had to go out and look for more.In this project, I tried a different approach: training Stable Diffusion XL on my own collection to create a texture generator that captured the same aesthetic.

Dataset

big
Original size 1536x768

The training dataset includes 32 photographs taken with an iPhone. These images are roughly evenly split between natural textures (moss, bark, needles, thuja, water, wood) and man-made textures (brickwork, cobblestone, tiles, carved grating, gilded relief, rusty metal, painted wood).

To prepare for generation and training, I converted the photos from HEIC to JPG and cropped them to a square format. Each image was captioned using the BLIP model, and a style trigger—"macro texture photo in TRAILTEX style"—was added to the beginning of every caption.

I also curated the photos to ensure they shared common characteristics: overhead or close-up shots, diffused overcast light, muted grayish-green and rusty tones, and signs of age and dampness.

Generations. Creating new textures

The model demonstrated its strength most significantly in scenarios where I asked it to invent a surface that was absent from the dataset. None of these textures were photographed, and I am genuinely thrilled that the neural network was able to achieve photorealism—as if all of these images were taken by me on the same walk.

Original size 1024x1024

Moss on stone and rust—a mixture of the two most frequent materials in the dataset on one surface. Prompt: macro texture photo in TRAILTEX style, unseen weathered surface, moss, stone and rust

Original size 1024x1024

Cobblestones overgrown with moss—the model took the form of tiles from man-made frames and «settled» them with nature. Prompt: macro texture photo in TRAILTEX style, ornamental tile pattern overgrown with moss

Original size 1024x1024

Ice with leaves—there is no such shot in the set, but there is water, foliage, and cold light. Prompts: macro texture photo in TRAILTEX style, frozen puddle with leaves and reflections, and macro texture photo in TRAILTEX style, frozen puddle with leaves trapped in ice.

Original size 1024x1024

Gold leaf with cracks. Prompt: macro texture photo in TRAILTEX style, a leaf made of gilded metal with cracks

Original size 1024x1024

Mosaic of blue tiles. Prompt: macro texture photo in TRAILTEX style, a butterfly wing made of blue ornamental tiles

Original size 1024x1024

Paint on old wood. Prompt: macro texture photo in TRAILTEX style, cracked blue paint on old wet wood

Original size 1024x1024

Weaving. Prompt: macro texture photo in TRAILTEX style, a woven basket made of pine needles

Original size 1024x1024

Lichen on stone. Prompt: macro texture photo in TRAILTEX style, a pebble with golden veins and lichen

Additional Experiments

It’s clear that my database makes it easy to develop detailed textures, but what if I asked an AI to generate a photo of a person? Or of circles?

I decided to conduct an experiment and test what the AI I trained could achieve across a series of prompts—and what visual elements it would lose. I started with common small objects you might find on the ground.It turned out that the model preserves them by placing them on a texture, as if I had leaned down and taken a photo of something.

Seashell on a mossy stone and a scattering of shells. The object is preserved in its entirety; the background has become a typical surface from the dataset. Single prompt: macro texture photo in TRAILTEX style, a seashell made of weathered stone and moss

Original size 1024x1024

The mushroom preserved on the moss is complete and in excellent condition. Prompt: macro texture photo in TRAILTEX style, a mushroom growing out of mossy masonry

Feather on rusted metal. Prompt: macro texture photo in TRAILTEX style, a feather made of rusted metal

Transitional objects: sometimes the neural network partially retained the form but still attempted to blend it with a standard texture.

In conclusion, I formulated a general rule: only objects that can fit into a top-down or close-up shot are retained. The model is unaware of any other perspective.

Original size 1024x1024

A face emerging through the bark. Prompt: macro texture photo in TRAILTEX style, a portrait of a woman made of bark, lichen, and cracked plaster

Original size 1024x1024

A blue cup in bark—the blue color is taken from flaked metal, and the cup itself is half-submerged in the wood. Prompt: macro texture photo in TRAILTEX style, a teacup made of weathered blue ceramic

Large objects and scenes are transformed into material by the model. I understood that it deliberately sacrifices form in favor of surface texture, according to the dataset.

Original size 1024x1024

Jacket made of pine needles and wet wood. Prompt: macro texture photo in TRAILTEX style, a jacket sewn from pine needles and wet wood

Hazy Materials
Project created at 06.10.2026