WebGL 计算机图形 vec4?

HJG*_*AUM 2 javascript webgl vertex-shader fragment-shader

我正在学习 WebGL 图形编程,最近出现了这段代码。

void main() { gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); }
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我听说它与渲染光有关,但我完全不知道。

nas*_*sso 5

这是一个片段着色器。

片段着色器由您的 GPU 执行以渲染每个样本(通常是一个像素,但在您使用多重采样进行抗锯齿时可能会发生变化)。

片段着色器有一个 main() 函数,它是着色器的起点。

在这里,您只是为gl_FragColor变量赋值。这是一个内置变量,它将决定样本的颜色(像素)。它是一个vec4(4 分量向量)。X 是红色分量,Y 是绿色分量,Z 是蓝色分量。最后一个组件 (w) 是 alpha。

所以这个简短的代码只是简单地用绿色填充你的多边形。