Unity 6.3
0 онлайн 78 гостей 3 в системе
Вход

Graphics.DrawProceduralNow

Declaration

public static void DrawProceduralNow(MeshTopology topology, int vertexCount, int instanceCount);

Параметры

Параметр Описание
топология Топология процедурной геометрии.
vertexCount Количество вершин для отображения.
instanceCount Количество экземпляров для отображения.

Описание

Чертает процедурную геометрию на GPU.

DrawProceduralNow выполняет вызов отрисовки на GPU. Если шейдеру требуются вершинные буферы, то в зависимости от платформы происходит одно из двух: — если вершинный буфер объявлен, но компилятор может его оптимизировать, обычный шейдер может использовать вершинные буферы, но не вершинные индексы (DrawProcedural); — если компилятор не может оптимизировать объявление вершинного буфера, вызов отрисовки будет преобразован в обычный вызов отрисовки меша с эмулированными вершинными буферами.

Последняя опция имеет накладные расходы на производительность, поэтому рекомендуется не объявлять вершинные входы в шейдерах при использовании DrawProceduralNow. Это в основном полезно на Модель шейдера 4.5 аппаратного уровня, где шейдеры могут читать произвольные данные ComputeBuffer — буферы.

Обратите внимание, что этот вызов выполняется немедленно, подобно Graphics.DrawMeshNow. Используется текущая цель рендеринга, матрицы преобразований и пропуск шейдера.

Существует также аналогичная функциональность в CommandBuffers, см. CommandBuffer.DrawProcedural.

Дополнительные ресурсы: Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing.

Declaration

public static void DrawProceduralNow(MeshTopology topology, GraphicsBuffer indexBuffer, int indexCount, int instanceCount);

Параметры

Параметр Описание
топология Топология процедурной геометрии.
indexCount Количество индексов для отображения.
instanceCount Количество экземпляров для отображения.
indexBuffer Буфер индекса, используемый для представления вершин в GPU.

Описание

Чертает процедурную геометрию на GPU.

DrawProceduralNow выполняет вызов отрисовки на GPU без вершинного буфера. В основном это полезно на Shader Model 4.5 уровне оборудования, где шейдеры могут читать произвольные данные из ComputeBuffer буферов.

Обратите внимание, что этот вызов выполняется немедленно, подобно Graphics.DrawMeshNow. Он использует текущее задание рендеринга, матрицы преобразования и проход шейдера.

Аналогичная функциональность есть и в CommandBuffers, см. CommandBuffer.DrawProcedural.

Дополнительные ресурсы: Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing.