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

CommandBuffer.DrawProcedural

Declaration

public void DrawProcedural(Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int vertexCount, int instanceCount = 1, MaterialPropertyBlock properties = null);

Параметры

Параметр Описание
матрица Используемая матрица преобразования.
материал Используемый материал.
shaderPass Какой проход шейдера использовать (или -1 для всех проходов).
топология Топология процедурной геометрии.
vertexCount Количество вершин для отображения.
instanceCount Количество экземпляров для отображения.
свойства Дополнительные свойства материала, которые следует применять непосредственно перед рендерингом. См. MaterialPropertyBlock.

Описание

Добавлена команда "нарисовать процедурную геометрию".

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

В вершинном шейдере вы обычно используете SV_VertexID и SV_InstanceID вводные переменные для получения данных из некоторых буферов.

Обратите внимание, что в вызове отрисовки не будут заданы никакие данные шейдера, относящиеся к освещению (цвета и направления источников света, тени, зонды освещения и отражений и т. д.). Если шейдер, используемый материалом, обращается к каким-либо переменным, связанным с освещением, результат не определён.

Дополнительные ресурсы: DrawProceduralIndirect, MaterialPropertyBlock, Graphics.DrawProcedural.

Declaration

public void DrawProcedural(GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount, int instanceCount, MaterialPropertyBlock properties);
public void DrawProcedural(GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount, int instanceCount);
public void DrawProcedural(GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount);

Параметры

Параметр Описание
матрица Используемая матрица преобразования.
материал Используемый материал.
shaderPass Какой проход шейдера использовать (или -1 для всех проходов).
топология Топология процедурной геометрии.
indexCount Количество индексов для отображения.
instanceCount Количество экземпляров для отображения.
indexBuffer Буфер индекса, используемый для передачи вершин в GPU.
свойства Дополнительные свойства материала, которые следует применять непосредственно перед рендерингом. См. MaterialPropertyBlock.

Описание

Добавлена команда "нарисовать процедурную геометрию".

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

В вершинном шейдере, вы обычно используете входные переменные SV_VertexID и SV_InstanceID для получения данных из некоторых буферов.

Дополнительные ресурсы: DrawProceduralIndirect, MaterialPropertyBlock, Graphics.DrawProcedural.