Imagine a scene with ten simple "cubes" all the same.
They each have the same material "M1" which has the simple standard shader, and, a simple PNG as the texture.
If you go to the material, and adjust the tiling,
You can conveniently flip the texture around for different looks.
Note that of course this will change all ten of the cubes all at once.
Is it possible to modify the standard shader, so that, simply,
on each object, which uses the material
the shader randomly changes the tiling (and, say, the offset)
again, I mean on a "per object" basis; in the example each of the ten would be randomly different.
(So: one cube would show tiling -1,1, one cube would show tiling -1,-1 and so on ... each cube different, although all using the same material, only one material exists.)
Note,
(1) it's totally trivial to generate a few different versions of the material, each with different tiling, and randomly select one of those for each cube. that's not the way to go
(2) note that if you vary a material, it of course makes more than one copy. you can't have thousands and thousands of materials.
The solution is to have (one) shader which knows to vary (say, randomly) the offset, inside the shader - on each object it is working on. (ie on a per specific object basis)
That's what I'm asking about here.



