OpenGL着色器:不插入颜色

Mew*_*Mew 2 opengl graphics glsl

我正在尝试一个非常基本的OpenGL示例:渲染一个三角形.三角形有三个点和三种不同的颜色.

现在,OpenGL将这些颜色混合在一起以创建类似渐变的效果.我想关闭它但我无法弄清楚如何做到这一点.

这是我的片段着色器,它非常基本:

#version 150

in vec4 color;
out vec4 outColor;

void main()
{
    outColor = color;
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*ker 6

有两种选择,您选择的选项将更多地取决于您的操作.

首先,在将多边形的每个顶点赋予OpenGL时,可以简单地使颜色保持不变.

其次,您还可以将变量标记为flat:

flat in vec4 color;
Run Code Online (Sandbox Code Playgroud)

它将从引人注目的顶点获得它的颜色.请参见此手册页.

  • flag 关键字正是我正在寻找的,谢谢! (2认同)