Version: 2022.3

描述

GraphicsBuffer can be used as a destination for CopyBuffer.

The destination buffer for Graphics.CopyBuffer or CommandBuffer.CopyBuffer must have CopyDestination target set. This target is most often combined with other target flags.

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // create a source index buffer and set data for it var src = new GraphicsBuffer( GraphicsBuffer.Target.Index | GraphicsBuffer.Target.CopySource, 3, 2); src.SetData(new ushort[] {1, 10, 100}); // create a destination index buffer and copy source into it var dst = new GraphicsBuffer( GraphicsBuffer.Target.Index | GraphicsBuffer.Target.CopyDestination, 3, 2); Graphics.CopyBuffer(src, dst);

// check the copied data var got = new ushort[3]; dst.GetData(got); Debug.Log($"copied data: {got[0]}, {got[1]}, {got[2]}");

// release the buffers src.Release(); dst.Release(); } }