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";

浙公网安备 33010602011771号