в glsl есть centroid для этого
Ага. Но это не панацея, во-первых, производные ломает, во-вторых, по краям полигонов внутри модели будут слегка значения плавать. Но второе, вроде, не страшно. Я сам для всего, кроме текстурных координат, использую centroid