了解 glClearColor 值

Understanding glClearColor values

我正在尝试创建一个单一的 OpenGL window,并在 RGB 颜色选择器中选择一些背景颜色,但看起来我在这个函数中遗漏了一些重要的东西。当我想将颜色设置为标准时,例如红色,它起作用了。

glClearColor(1.0f, 0.0f, 0.0f, 1.0f);

但是当我想设置一些异国情调的颜色时 184, 213, 238, 1 然后它只显示白色。

glClearColor(184.0f, 213.0f, 238.0f, 1.0f);

我做错了什么? f 的十进制值是多少?

请参阅 glClearColor 的 Khronos 文档页面,其中明确说明:

void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);

glClearColor specifies the red, green, blue, and alpha values used by glClear to clear the color buffers. Values specified by glClearColor are clamped to the range [0,1].

这意味着参数是在 0.0 到 1.0 范围内的浮点值。 像这样调整您的代码:

glClearColor(184.0f/255.0f, 213.0f/255.0f, 238.0f/255.0f, 1.0f);

这里,rValue、gValue 和 bValue 总是在 0.0 f1.0 f 之间。所以如果你想应用 0 到 225.and 之间的颜色,alpha 也在 0.0 f1.0 f 之间。 (0 表示完全透明)。

rValue= 184.0 / 255.0

gValue= 213.0 / 255.0

bValue= 238.0 / 255.0

glClearColor(rvalue, gValue, bValue, alpha);