获得超过1/256的半精度

时间:2018-04-29 09:52:06

标签: unity3d shader precision cg

我正在制作Unity图像着色器,我遇到以下问题:

我将颜色值计算为half3-s(每个通道为1 *半),而在某些具有256(8bit)深通道梯度的设备上则不够平滑。

One channel of a gradient:

请检查我的问题图片。

为了使其平滑,我希望将通道精度超过1/256到0到1之间的另一半值。(之后我想根据额外的精度计算随机噪声值(0或1)。 )

我试过了:

float greenPrecision = (backColor.g * 256) % 1;

但这还不够精确。 (颜色变化的边界不完全适合。)

greenPrecision value looks like this.

0 个答案:

没有答案