说我有一个简单的OpenGL三角形,如下所示:
//1
glColor3f(1, 0, 0);
glVertex3f(0.5, 0, 0);
//2
glColor3f(0, 1, 0);
glVertex3f(0, 1, 0);
//3
glColor3f(0, 0, 1);
glVertex3f(1, 1, 0);
在glsl片段着色器中,我可以使用插值的片段颜色来确定距每个顶点的距离。在此示例中,颜色的红色分量确定到第一个顶点的距离,绿色确定到第二个顶点的距离,蓝色确定从第三个顶点的距离。]
是否可以在不传递顶点数据(例如纹理坐标或颜色)的情况下确定着色器中的这些距离?
说我有一个简单的OpenGL三角形,像这样:// 1 glColor3f(1,0,0); glVertex3f(0.5,0,0); // 2 glColor3f(0,1,0); glVertex3f(0,1,0); // 3 glColor3f(0,0,1); glVertex3f(1,1,0);一目了然...
不是在标准OpenGL中。有两个特定于供应商的扩展: