Version: 2019.4
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); } }