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 を使用します。
Additional resources: 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); } }