0

这可能看起来有点傻,但我不知道如何在 glColor4f 中输入所需的颜色。我的意思是,它需要 4 个介于 0.0 ~ 1.0 之间的浮点数,并且我找到的所有颜色都是十六进制或 rgb(介于 0 ~ 255 之间)。

如何使用 glColor4f 进行转换以获取所需的颜色?

我已经尝试过这样做:

glColor4f(1/248, 1/50, 1/99);

但这并没有成功。

我正在使用 JAVA 和 OpenGL-ES

4

2 回答 2

5

'C' 在整数中进行整数算术运算

1/248将向下舍入为零,您需要使用浮点值。ie1.0/248.0
但是因为你想将 8bit RGB 转换为 0-1 你需要做(float)R/255.0

编辑:在任何语言中, glColor4f() 都需要一个 0-1 范围内的值,其中 0 是黑色,1 是全彩色。要将 0-255 值转换为 0-1 范围,您必须除以 255,而不是取倒数。

于 2013-01-27T20:37:28.160 回答
1

浮出=(1.0f/255)*颜色;

这适用于 AndEngine ColorParticleModifier

于 2015-09-16T06:01:11.250 回答