OpenGL 片段着色器

OpenGL 片段着色器

一些需要了解的内容

  • 片段着色用来计算像素的最后颜色输出

  • 在计算机中,颜色被表示为 4 个元素的数组:红,绿,蓝,alpha(透明度),通常缩写为 RGBA

  • 在OpenGL或GLSL中,颜色的每个分量的强度在 \([0, 1]\) 之间,

片段着色器

  • 片段着色器只需一个输出4分量变量,他表示最终的输出颜色
  • 声明输出变量用 out 关键字
#version 330 core
out vec4 FragColor;

void main()
{
    FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);
} 
  • 片段着色器的类型为:GL_FRAGMENT_SHADER
unsigned int fragmentShader;
fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragmentShader, 1, &fragmentShaderSource, NULL);
glCompileShader(fragmentShader);

const char *fragmentShaderSource = "#version 330 core\n"
    "out vec4 FragColor;\n"
    "void main()\n"
    "{\n"
    "   FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n"
    "}\0";

posted @ 2021-12-03 17:03  blahhhh  阅读(164)  评论(0)    收藏  举报