我正在尝试绘制一个 8 位风格的游戏角色(来自 Zelda 的链接),因为我正在练习 OpenGL。我从他的脸开始,也就是右边的大方块,然后画了他的眼睛,在他的脸开始的右边两个街区……(6个街区,最左边的2个是眼睛)
眼睛的顶部(绿色块上方的块)应该是深绿色(见代码),但它一直采用第一个较大块(脸)的颜色。
我希望这是有道理的......请看这张照片:

我做错了什么让它不断改变它的颜色?
我假设我需要做更多的事情才能接受 RGB 颜色?glColor3f(29, 137, 59);...
glColor3f接受浮点参数。通过这样做,大数字将被转换为浮点数,因此变为 29.0f、137.0f 和 59.0f。给定颜色在 0-1 的范围内表示,这些颜色会被限制在 0-1 的范围内,当然会显示为白色(1.0、1.0、1.0)。
改为使用glColor3ub。它接受一个无符号字节作为其参数,范围为 0-255,这可能是您最习惯的。还有其他形式,例如glColor3i, glColor3s,等glColor3ui,glColor3us它们接受整数和短裤(及其无符号变体),它们在整数和短裤的范围内定义。这些只是在内部转换为十进制变体(例如decimal = int / INT_MAX)。