一般,绘制一个三角形,需要三个顶点,并且要输入rgba值,才能渲染出三角形的色彩。
但是,rgba只是给定了3个颜色值(R,G,B)是怎样的,并没有给出一整个颜色板,如果你设RGB为(0,1,0),那么整个三角形都是绿色的。
这是fragment shader中 片段插值 的结果,当进入到渲染三角形的 光栅化阶段时,通常会产生很多fragments ,比你初始定义的顶点还多,于是光栅器 就根据这些fragments 在三角形上的相对位置 ,基于这个位置,光栅器就 插值所有 fragment shader 的输入变量(顶点,颜色值等),根据 该点与 三个顶点的距离,来调配相应的渲染颜色,比如近朱者赤,近墨者黑,中间者又赤又黑。