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