void terrain_lighting(inout vec3 color); uniform sampler2D detail0; //0 uniform sampler2D detail1; //2 uniform sampler2D alphaRamp; //1 void main() { float a = texture2D(alphaRamp, gl_TexCoord[1].xy).a; vec3 color = mix(texture2D(detail1, gl_TexCoord[2].xy).rgb, texture2D(detail0, gl_TexCoord[0].xy).rgb, a); terrain_lighting(color); gl_FragColor.rgb = color; gl_FragColor.a = texture2D(alphaRamp, gl_TexCoord[3].xy).a; }