human
GLSLシェーダーを書きます
gpt
入力テクスチャにグレースケールフィルタを適用するシンプルな GLSL フラグメントシェーダです：
``` 
#version 330

in vec2 vTexCoord;
out vec4 fragColor;

uniform sampler2D tex;

void main()
{
    // Sample the texture at the given texture coordinate
    vec4 texel = texture(tex, vTexCoord);

    // Convert the color to grayscale using the luminance method
    float luminance = dot(texel.rgb, vec3(0.299, 0.587, 0.114));
    vec3 grayscale = vec3(luminance);

    // Output the grayscale color
    fragColor = vec4(grayscale, texel.a);
}
```
このシェーダはテクスチャサンプラーを入力として受け取り、ルミナンス法を使って各テクセルのRGB値をグレースケールに変換することで、テクスチャにグレースケールフィルタを適用します。その結果、グレースケール値がフラグメントのRGB値として出力されます。入力テクセルのアルファ値は変更されずに渡され、出力フラグメントのアルファ値として使用されます。