道理很简单,但是如果不注意比较容易吃亏。
定点数浮点数转换最常见的就是sample texture。
像rgb8的tex sample出来的颜色,load到register中是tex_value/255.0f。
比如一个纯灰的贴图,进来就是127.0f/255.0f,是0.498xxxx这么个数。
如果大意的话,当成0.5f用,某些情况下,误差被放大,就郁闷了。
所以觉得合理的方法还是shader里面定义一些const float kHalfOne = 127.0f/255.0f这样用的最放心了。