twirl

Photoscans vs generating PBR from a prompt

September 1, 2026·twirl

Use Poly Haven or ambientCG when the scan exists. Generate the surface when it doesn’t. How photoscans, Substance, and text-to-PBR actually differ.

If Poly Haven has the brick, download the brick. 8K, CC0, done. Generating it from a prompt is slower and worse than a real scan of that exact surface.

The prompt is for the surface that is not in the catalog.

Three ways to get a material

Photogrammetry and photoscans (Poly Haven, ambientCG, Quixel) start from a real object. Best when you want this floor in this warehouse. You cannot invent a material they did not shoot.

Authored materials in Substance Designer, Material Maker, or ArmorPaint are built by hand. Full control, slow, a skill.

Generated materials come from a model. Patina, in our case, writes the maps from a sentence, or from a photo. Fast and uneven. You iterate the prompt the way you iterate a Substance graph, just dumber and cheaper.

twirl is the third one, hosted. Five maps, tileable, commercial license on every plan including free.

When generating loses

Generating loses when the surface has to match a real location, a hero asset, or something people have seen in photos. Scans win those. It also loses when you need 8K, measured real-world scale, or a matching HDRI. That is library work.

When it wins

It wins on trim sheets that do not exist, and on surfaces like wet cobble at 2am under sodium lights or oxidized copper with a fat verdigris crust. Same for a variation of a wood you already have, or a placeholder that cannot look like a flat albedo.

You still import the same way: albedo sRGB, the rest Non-Color, invert green if Unreal, invert roughness if Unity smoothness.

Generate the missing one.