Graphics.CopyBuffer
Declaration
public static void CopyBuffer(GraphicsBuffer source, GraphicsBuffer dest);Параметры
| Параметр | Описание |
|---|---|
| источник | Буфер исходного кода. |
| рука | Буфер назначения. |
Описание
Копирует содержимое одного GraphicsBuffer в другое.
GPU эффективно копирует содержимое буфера.
Общие размеры буфера (i.e. GraphicsBuffer.count умноженные на GraphicsBuffer.stride) должны совпадать между исходным и конечным буферами. Исходный буфер должен иметь флаг цели GraphicsBuffer.Target.CopySource, а конечный буфер должен иметь флаг цели GraphicsBuffer.Target.CopyDestination.
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(); } }
Дополнительные ресурсы: ,GraphicsBuffer,, ,CommandBuffer.CopyBuffer,, ,Graphics.CopyTexture,.