OpenGL着色器:不要插值颜色

3

我正在尝试一个非常基本的OpenGL示例:渲染一个三角形。这个三角形有三个点,每个点有不同的颜色。

现在OpenGL将这些颜色混合在一起,创建出一种类似于渐变的效果。我想关闭这个功能,但是我不知道如何做到。

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

#version 150

in vec4 color;
out vec4 outColor;

void main()
{
    outColor = color;
}
1个回答

7

有两个选项,你的选择取决于你要做什么。

首先,当你将多边形传递给OpenGL时,你可以简单地使每个顶点的颜色保持不变。

其次,你还可以将一个变量标记为flat

flat in vec4 color;

它将从触发顶点获取颜色。参见此手册页面


2
"flag" 关键字正是我所需要的,谢谢! - Mew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接