UnityEngine.ComputeShader.SetBuffer C# (CSharp) Method

SetBuffer() public method

Sets an input or output compute buffer.

public SetBuffer ( int kernelIndex, string name, ComputeBuffer buffer ) : void
kernelIndex int For which kernel the buffer is being set. See FindKernel.
name string Name of the buffer variable in shader code.
buffer ComputeBuffer Buffer to set.
return void
        public void SetBuffer(int kernelIndex, string name, ComputeBuffer buffer)
        {
            this.SetBuffer(kernelIndex, Shader.PropertyToID(name), buffer);
        }

Same methods

ComputeShader::SetBuffer ( int kernelIndex, int nameID, ComputeBuffer buffer ) : void

Usage Example

コード例 #1
0
    public void Init()
    {
        _numParticlesX = _particleGroupsX * kNumThreadsX;
        _numParticlesY = _particleGroupsY * kNumThreadsY;
        _numParticles = _numParticlesX * _numParticlesY;

        _currentCopiedVertices = 0;

        _particleMaterial = Resources.Load<Material>("GPUParticleMat");

        _computeShader = Resources.Load<ComputeShader>("ComputeShaders/GPUParticleUpdater");
        _kernelMoveParticles = _computeShader.FindKernel(kKernelMoveParticles);

        _particlesData = new Particle[_numParticles];
        InitBuffer(_particlesData);

        for (int i = 0; i < _particlesData.Length; ++i)
        {
            float id = ((float)i) / 10000.1f;
            CreateParticle(id);
        }

        // Set ComputeShader Parameters
        _particlesBuffer = new ComputeBuffer(_particlesData.Length, System.Runtime.InteropServices.Marshal.SizeOf(typeof(GPUParticleSystem.Particle)));
        _particlesBuffer.SetData(_particlesData);

        _computeShader.SetBuffer(_kernelMoveParticles, "_ParticlesBuffer", _particlesBuffer);

        _computeShader.SetFloat("_Width", _numParticlesX);
        _computeShader.SetFloat("_Height", _numParticlesY);

        // Set Shader Parameters
        _particleMaterial.SetBuffer("_ParticlesBuffer", _particlesBuffer);
    }
All Usage Examples Of UnityEngine.ComputeShader::SetBuffer