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

+1

标志关键字正是我所期待的,谢谢! – Mew 2013-03-16 15:33:01