我正在尝试一个非常基本的 OpenGL 示例:渲染单个三角形。三角形有三个点和三种不同的颜色。
现在 OpenGL 将这些颜色混合在一起以创建类似渐变的效果。我想关闭它,但我不知道如何做到这一点。
这是我的片段着色器,它非常基础:
#version 150
in vec4 color;
out vec4 outColor;
void main()
{
outColor = color;
}
有两个选项,您的选择将更多地取决于您在做什么。
首先,在将多边形提供给 OpenGL 时,您可以简单地使多边形的每个顶点的颜色保持不变。
其次,您还可以将变量标记为flat
:
flat in vec4 color;
它会从挑衅的顶点获得颜色。请参阅此手册页。