Описание
Предполагаемое целевое использование буфера вершин Mesh GPU.
По умолчанию буферы вершин сетки имеют цель использования GraphicsBuffer.Target.Vertex. Если вы хотите получить доступ к буферу вершин сетки из вычислительного шейдера, необходимо запросить дополнительные цели, например GraphicsBuffer.Target.Raw.
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
public Mesh mesh;
public ComputeShader computeShader;
void Start()
{
// Mark the vertex buffer as needing "Raw"
// (ByteAddressBuffer, RWByteAddressBuffer in HLSL shaders)
// access.
mesh.vertexBufferTarget |= GraphicsBuffer.Target.Raw;
// Get the vertex buffer of the Mesh, and set it up
// as a buffer parameter to a compute shader.
var vertexBuffer = mesh.GetVertexBuffer(0);
computeShader.SetBuffer(0, "MeshVertexBuffer", vertexBuffer);
vertexBuffer.Dispose();
}
}
Смотрите так же: Target, GetVertexBuffer, indexBufferTarget.