Version: 2023.2
言語: 日本語
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 を使用します。

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); } }