Already done, though I guess that last pic was a bit messy. How about this one: Triplanar + normal mapping + specular mapping. The stretching problem is solved. I should note that triplanar texturing is a pretty GPU intensive effect: it replaces every texture access with 3x accesses, and memory access is pretty much the slowest operation. I think I'll make it so it lives in a separate material of its own that is used for cliff textures.. On a completely different subject, did you know that Nvidia's CG compiler can automatically convert a subset of GLSL to ARB assembly? That means it may be possible to 'port' some of the lighter GLSL effects (eg AO) to ARB with very little effort...