Размер пользовательской структуры для вычислительных шейдеровC#

Место общения программистов C#
Anonymous
Размер пользовательской структуры для вычислительных шейдеров

Сообщение Anonymous »

Я пытаюсь написать вычислительный шейдер с единством, который генерирует сетчатые данные (вершины, нормы, ультрафиолетовые) для местности вокселя. Таким образом, у меня есть пользовательская структура, определенная следующим образом: < /p>

[StructLayout(LayoutKind.Sequential, Pack = 0)]
private struct VertexData
{
public Vector3 position;

public Vector3 normal;

public Vector2 uv;
}
< /code>

Тогда я создаю компьютерный блок для ComputeShader следующим образом: < /p>

vecterDataCBuf = new ComputeBuffer(ChunkSize * ChunkSize * ChunkSize, sizeof(VertexData));
< /code>

Я получаю ошибку CS0233, указывающую, что я не могу использовать оператор SizeOF на своей пользовательской структуре, чтобы обеспечить шаг для вычислительного буфера, несмотря на атрибут упаковки, который я добавил. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/505 ... der-stride

Вернуться в «C#»