In the current GC, ground tiles and rocks are separate objects, complete with diffuse/normal maps. Standard. Repetition crops up because I reuse the same small set of objects all over the place, merely with different rotations. So I thought that maybe I could "borrow" the texture splatting from the terrain materials. And combine that with a tri-planar blended texture map for the rocks? These are my preliminary results of that experiment:
It's a quick experiment, a bit noisy-looking and nonsensical, but I think the idea is sound. The basis of the system is a texture atlas that holds 8 textures and a corresponding atlas for normals. The ground material uses 2 RGBA blend maps to blend between the 8 different terrain types in the atlas. In this case, I simply generate a noise fractal and blend between 2 textures on one layer, and select 2 textures on the other layer for the water tiles. The rock material is a tri-planar blend that uses the first blendmap for the ground textures (the one with the noise fractal) and uses the weights from that blend map to choose textures to apply in a tri-planar scheme.
The shaders are a tad heavy-weight, especially the tri-planar one. That one has 26 texture samples (1 weightmap, 1 object normal, 1 sample+normal for each of 4 terrain types per each of the 3 dimensions x, y and z). Even so, on my old Costco special box I get quite interactive framerates from this beast.
Whether or not I go through the gymnastics required to bring this scheme into GC proper, I still have yet to determine. Still, it gives me another potential tool in the toolbox, and it was kind of fun to work on anyway.