0

これは少しばかげているように思えるかもしれませんが、glColor4f で目的の色を入力する方法がわかりません。つまり、0.0 ~ 1.0 の間の 4 つの float が必要であり、見つけたすべての色は 16 進数または RGB (0 ~ 255 の間) です。

glColor4fを使用して目的の色を取得するにはどうすればよいですか?

私はすでに次のようなことを試みました:

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

しかし、それはトリックにはなりません。

JAVA と OpenGL-ES を使用しています

4

2 に答える 2

5

'C' は整数で整数演算を行います

1/248はゼロに切り捨てられるため、浮動小数点値を使用する必要があります。つまり1.0/248.0
、8ビットRGBを0-1に変換したいので、する必要があります(float)R/255.0

編集: glColor4f() が 0 から 1 の範囲の値を期待するどの言語でも、0 は黒、1 はフルカラーです。0 ~ 255 の値を 0 ~ 1 の範囲に変換するには、逆数ではなく 255 で割る必要があります。

于 2013-01-27T20:37:28.160 に答える
1

float out=(1.0f/255)*color;

これは AndEngine ColorParticleModifier で機能します

于 2015-09-16T06:01:11.250 に答える