opengl 在计算着色器中,渲染纹理最小的类型是什么

bweufnob  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(116)

我正在使用Unity的计算着色器来写入一个渲染纹理,稍后将使用它。我想输入到渲染纹理中的值是0和1,因此为了避免使用大量无用的内存,我正在寻找可以用于计算着色器中渲染纹理的较小类型。
我看到他在CPU上创建的渲染纹理格式可以设置为RenderTextureFormat.R8,我尝试使用它,但我不知道在计算着色器中声明渲染纹理时使用哪种类型(它不适用于_int8)。此外,我发现当我在计算着色器中声明渲染纹理时,可以使用bool类型,但我不知道该用哪种渲染纹理格式...

j1dl9f46

j1dl9f461#

正如Shingo所说,较小的类型是一个8位整数,它在渲染纹理创建中由RenderTextureFormat.R8定义,然后在计算着色器中的渲染纹理声明中由unorm float定义。Unity手册中有一个table总结了不同的RenderTextureFormat,在计算着色器中有等价的HLSL

相关问题