Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Graphics.DrawProceduralIndirectNow

Объявление

public static void DrawProceduralIndirectNow(MeshTopology topology, ComputeBuffer bufferWithArgs, int argsOffset);

public static void DrawProceduralIndirectNow(MeshTopology topology, GraphicsBuffer bufferWithArgs, int argsOffset);

Параметры

topology Топология процедурной геометрии.
bufferWithArgs Буфер с аргументами отрисовки.
argsOffset Байтовое смещение, где в буфере находятся аргументы отрисовки.

Описание

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

DrawProceduralIndirectNow выполняет вызов отрисовки на графическом процессоре без каких-либо буферов вершин или индексов. Объем геометрии для рисования считывается из ComputeBuffer. Типичный пример использования — генерация произвольного объема данных из ComputeShader и последующая их визуализация без необходимости обратного считывания в ЦП.

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

Буфер с аргументами, bufferWithArgs, должен содержать четыре целых числа при заданном смещении argsOffset: количество вершин на экземпляр, экземпляр количество, начальное местоположение вершины и начальное местоположение экземпляра. Это соответствует Direct3D11 DrawInstancedIndirect и эквивалентным функциям в других графических API. В версиях OpenGL до 4.2 и во всех версиях OpenGL ES, поддерживающих косвенную отрисовку, последний аргумент зарезервирован и поэтому должен быть равен нулю.

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

Подобные функции есть и в CommandBuffers, см. CommandBuffer.DrawProceduralIndirect.

Смотрите так же: Graphics.DrawProceduralNow, ComputeBuffer.CopyCount, SystemInfo.supportsComputeShaders.


Объявление

public static void DrawProceduralIndirectNow(MeshTopology topology, GraphicsBuffer indexBuffer, ComputeBuffer bufferWithArgs, int argsOffset);

public static void DrawProceduralIndirectNow(MeshTopology topology, GraphicsBuffer indexBuffer, GraphicsBuffer bufferWithArgs, int argsOffset);

Параметры

topology Топология процедурной геометрии.
indexBuffer Индексный буфер, используемый для отправки вершин в GPU..
bufferWithArgs Буфер с аргументами отрисовки.
argsOffset Байтовое смещение, где в буфере находятся аргументы отрисовки.

Описание

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

DrawProceduralIndirectNow выполняет вызов отрисовки на графическом процессоре без буфера вершин. Объем геометрии для рисования считывается из ComputeBuffer. Типичный пример использования — генерация произвольного объема данных из ComputeShader и последующая их визуализация без необходимости обратного считывания в ЦП.

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

Буфер с аргументами, bufferWithArgs, должен содержать пять целых чисел с заданным смещением argsOffset: число индексов на экземпляр, экземпляр количество, начальное положение индекса, базовое положение вершины и начальное положение экземпляра. Это соответствует Direct3D11 DrawIndexedInstancedIndirect и эквивалентным функциям в других графических API. В версиях OpenGL до 4.2 и во всех версиях OpenGL ES, поддерживающих косвенную отрисовку, последний аргумент зарезервирован и поэтому должен быть равен нулю.

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

Подобные функции есть и в CommandBuffers, см. CommandBuffer.DrawProceduralIndirect.

Смотрите так же: Graphics.DrawProceduralNow, ComputeBuffer.CopyCount, SystemInfo.supportsComputeShaders.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3