Sure, here's a simple GLSL fragment shader that applies a grayscale filter to an input texture:
``` 
#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);
}
``` 
This shader takes a texture sampler as input, and applies a grayscale filter to the texture by converting each texel's RGB value to grayscale using the luminance method. The resulting grayscale value is then outputted as the RGB value for the fragment. The alpha value of the input texel is passed through unchanged and is used as the alpha value for the output fragment.
แน่นอนว่า นี่คือตัวเชดเดอร์ส่วน GLSL ง่ายๆ ที่ใช้ตัวกรองระดับสีเทากับพื้นผิวอินพุต: ``` #version 330 ใน vec2 vTexCoord; ออก vec4 fragColor; ชุดตัวอย่าง Sampler2D tex; void main() { // ตัวอย่างพื้นผิวที่พิกัดพื้นผิวที่กำหนด vec4 texel = texture(tex, vTexCoord); // แปลงสีเป็นโทนสีเทาโดยใช้วิธี luminance float luminance = dot(texel.rgb, vec3(0.299, 0.587, 0.114)); vec3 ระดับสีเทา = vec3 (ความสว่าง); // ส่งออกสีระดับสีเทา fragColor = vec4(ระดับสีเทา, texel.a); } ``` เชดเดอร์นี้ใช้ตัวอย่างพื้นผิวเป็นอินพุต และใช้ตัวกรองระดับสีเทากับพื้นผิวโดยการแปลงค่า RGB ของแต่ละเทคเซลเป็นระดับสีเทาโดยใช้วิธีความสว่าง จากนั้นค่าระดับสีเทาที่ได้จะถูกส่งออกเป็นค่า RGB สำหรับแฟรกเมนต์ ค่าอัลฟ่าของอินพุตเทกเซลจะถูกส่งผ่านโดยไม่มีการเปลี่ยนแปลง และใช้เป็นค่าอัลฟ่าสำหรับส่วนของเอาต์พุต
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence