我不断在各种图形头文件中看到此常数
0.0039215689
似乎与颜色有关?
void RDP_G_SETFOGCOLOR(void)
{
Gfx.FogColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f;
Gfx.FogColor.G = _SHIFTR(w1, 16, 8) * 0.0039215689f;
Gfx.FogColor.B = _SHIFTR(w1, 8, 8) * 0.0039215689f;
Gfx.FogColor.A = _SHIFTR(w1, 0, 8) * 0.0039215689f;
}
void RDP_G_SETBLENDCOLOR(void)
{
Gfx.BlendColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f;
Gfx.BlendColor.G = _SHIFTR(w1, 16, 8) * 0.0039215689f;
Gfx.BlendColor.B = _SHIFTR(w1, 8, 8) * 0.0039215689f;
Gfx.BlendColor.A = _SHIFTR(w1, 0, 8) * 0.0039215689f;
if(OpenGL.Ext_FragmentProgram && (System.Options & BRDP_COMBINER)) {
glProgramEnvParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, 2, Gfx.BlendColor.R, Gfx.BlendColor.G, Gfx.BlendColor.B, Gfx.BlendColor.A);
}
}
//...more like this
这个数字代表什么?为什么似乎没有人将其声明为const?
我在Google上找不到任何可以解释的内容。
嗯...如果只有某种方法可以避免幻数......
—
Paul Draper 2014年
1/255 == 0.00(3921568627450980)
-请原谅平均重复。
使用您的下一个魔幻数字,尝试询问Wolfram Alpha
—
AakashM 2014年
无论出于何种原因,在没有证明其目的的情况下使用幻数是非常不明智的
—
Isaac Rabinovitch 2014年
(1.f/255)
?