【发布时间】:2020-04-27 13:05:01
【问题描述】:
假设我有一个像这样的简单 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 片段着色器中,我可以使用插值片段颜色来确定我与每个顶点的距离。在这个例子中,颜色的红色分量决定了到第一个顶点的距离,绿色决定了到第二个顶点的距离,蓝色决定了第三个顶点的距离。
有没有一种方法可以在不传递顶点数据(例如纹理坐标或颜色)的情况下确定着色器中的这些距离?
【问题讨论】:
-
没有。如果要计算距离,则必须知道 2 个点。没有内置片段着色器输入,其中包含相对于图元的坐标。
标签: opengl glsl fragment-shader