我在Unity中有一个渲染纹理,并按如下方式对其应用连续着色器:
Graphics.Blit(Tex1, Tex2, myMaterialA);
Graphics.Blit(Tex2, Tex3, myMaterialB);
Graphics.Blit(Tex3, Tex4, myMaterialC);
在我的着色器中,我只使用浮点数,但由于输出纹理是RGBA 32位,因此输出的颜色值在8位上量化。
在我的例子中,有没有办法保持中间结果(Tex2,Tex3)的浮点精度,只将最终纹理Tex4转换为RGB 32位?
答案 0 :(得分:1)
Texture2D和RenderTexture的格式都可以与ARGB32不同。
https://docs.unity3d.com/ScriptReference/TextureFormat.html https://docs.unity3d.com/ScriptReference/RenderTextureFormat.html