OpenGL着色器:不插值颜色
问题描述:
我正在尝试一个非常基本的OpenGL示例:呈现单个三角形。三角形有三点和三种不同的颜色。OpenGL着色器:不插值颜色
现在,OpenGL将这些颜色混合在一起以创建渐变效果。我想关闭此功能,但我无法弄清楚如何做到这一点。
这是我的片段着色器,它真的很简单:
#version 150
in vec4 color;
out vec4 outColor;
void main()
{
outColor = color;
}
答
有两个选择,你选择哪一个将更多地取决于你在做什么。
首先,您可以简单地为您的多边形的每个顶点提供OpenGL颜色。
其次,你还可以标记一个变量为flat
:
flat in vec4 color;
,它会得到诱发顶点的颜色。见this man page。
标志关键字正是我所期待的,谢谢! – Mew 2013-03-16 15:33:01