Version: 2019.1
public void SetTextureFromGlobal (int kernelIndex, string name, string globalTextureName);
public void SetTextureFromGlobal (int kernelIndex, int nameID, int globalTextureNameID);

パラメーター

kernelIndexどのカーネルにテクスチャを設定するかを指定します。FindKernel を参照してください。
nameIDプロパティー名 ID。Shader.PropertyToID を使って取得します。
nameシェーダーコードのバッファ変数の名前
globalTextureNameシェーダーに指定するグローバルなテクスチャプロパティー
globalTextureNameIDプロパティー名 ID。Shader.PropertyToID を使って取得します。

説明

グローバルなテクスチャプロパティーからテクスチャパラメータを設定します。

This function can either set a regular texture that is read in the compute shader, or an output texture that is written into by the shader. For an output texture, it has to be a RenderTexture with random write flag enabled, see RenderTexture.enableRandomWrite.

バッファとテクスチャはカーネルごとに設定されます。関数の名前でカーネルインデックスを見つけるには、FindKernel を使用します。

See Also: FindKernel, SetBuffer, SetTexture, Shader.SetGlobalTexture.

// Assign the CameraMotionVectorsTexture global texture to a compute texture
using System;
using UnityEngine;

public class SampleBehaviour : MonoBehaviour { public int renderTargetWidth; public int renderTargetHeight; ComputeShader myComputeShader;

void ComputeUsingMotionVector() { int kKernelIndex = 0;

myComputeShader.SetTextureFromGlobal(kKernelIndex, "computeTexture", "_CameraMotionVectorsTexture"); myComputeShader.Dispatch(kKernelIndex, renderTargetWidth, renderTargetHeight, 1); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961