由于顶点着色器每个顶点运行一次(这意味着在三角形中 3 次),如果变量变量仅被分配(如示例中所示)3 次,如何为每个片段计算变量?
片段着色器:
precision mediump float;
varying vec4 v_Color;
void main() {
gl_FragColor = v_Color;
}
顶点着色器:
attribute vec4 a_Position;
attribute vec4 a_Color;
varying vec4 v_Color;
void main() {
v_Color = a_Color;
gl_Position = a_Position;
}
所以,问题是,这背后的系统如何知道,如何计算每个片段的变量 v_Color,因为这个着色器只分配 v_Color 3 次(在三角形中)。