gl_FragCoordgl_FragCoord是一个内置的变量,在fragment shader中可用。它表示当前fragment的屏幕坐标。
in vec4 gl_FragCoord;
无
返回一个vec4类型的向量,包含当前fragment的屏幕坐标。
gl_FragCoord.x表示当前fragment的x坐标。gl_FragCoord.y表示当前fragment的y坐标。gl_FragCoord.z表示当前fragment的深度值,取值范围为0.0到1.0。gl_FragCoord.w表示当前fragment的透明度,取值范围为0.0到1.0。以下示例代码计算当前fragment的颜色,使用fragment的x坐标除以屏幕的宽度作为红色通道值。
void main() {
vec2 resolution = vec2(1280.0, 720.0);
vec4 fragColor = vec4(0.0);
fragColor.x = gl_FragCoord.x / resolution.x;
fragColor.y = gl_FragCoord.y / resolution.y;
gl_FragColor = fragColor;
}