public void SetTexture (int kernelIndex, string name, Texture texture);
public void SetTexture (int kernelIndex, int nameID, Texture texture);
public void SetTexture (int kernelIndex, string name, Texture texture, int mipLevel);
public void SetTexture (int kernelIndex, int nameID, Texture texture, int mipLevel);

参数

kernelIndex当前为其设置纹理的内核。请参阅 FindKernel
nameID属性名称 ID,使用 Shader.PropertyToID 获取。
name着色器代码中的缓冲区变量的名称。
texture要设置的纹理。
mipLevel读写纹理的可选 Mipmap 级别。
element指定要设置的渲染纹理中的数据类型的可选子元素。

描述

设置纹理参数。

此函数可设置在 计算着色器中读取的常规纹理,或者设置由该着色器写入到的输出纹理。 对于输出纹理,其必须是启用了随机写入标志的 RenderTexture, 请参阅 RenderTexture.enableRandomWrite

请注意,除非着色器指定了读写(无序访问)纹理,否则将忽略 mipLevel 参数。

缓冲区和纹理按内核逐一设置。可使用 FindKernel 按函数名称查找内核索引。

通过指定 RenderTextureSubElement,可以指示要设置的渲染纹理中的数据类型。可能的选项为:RenderTextureSubElement.Color、RenderTextureSubElement.Depth、RenderTextureSubElement.Stencil。

另请参阅:FindKernel,另请参阅:SetFloatSetFloatsSetIntSetIntsSetBoolSetBufferSetMatrixSetMatrixArraySetVectorSetVectorArrayRenderTexture.enableRandomWrite、RenderTextureSubElement。