Метод ID3D10Device::D rawAuto (d3d10.h)

Рисование геометрии неизвестного размера, созданной этапом шейдера геометрии. См. примечания.

Синтаксис

void DrawAuto();

Возвращаемое значение

None

Remarks

API рисования отправляет работу в конвейер отрисовки.

После потоковой передачи данных в буферы этапов SO эти буферы можно снова привязать к этапу сборщика входных данных во входном слоте 0, и DrawAuto нарисует их без необходимости знать объем данных, записанных в буферы. Измерение объема данных, записываемых в буферы этапов SO, поддерживается внутренне при передаче данных. Это означает, что ЦП не нужно получить измерение перед повторной привязкой данных, которые были потоковой передачи в качестве входных данных. Хотя этот объем отслеживается внутри, приложения по-прежнему несут ответственность за использование входных макетов для описания формата данных в буферах этапов SO, чтобы макеты были доступны, когда буферы снова привязаны к ассемблере ввода.

На следующей схеме показан процесс DrawAuto.

Схема drawAuto, когда данные перемещаются через несколько этапов в буфер, а затем обратно на этап сборщика входных данных

Вызов DrawAuto не изменяет состояние буферов потокового вывода, которые были снова привязаны как входные данные.

DrawAuto работает только при рисовании с одним входным буфером, привязанным в качестве входных данных к этапу IA в слоте 0. Приложения должны создать ресурс буфера SO с флагами привязки, D3D10_BIND_VERTEX_BUFFER и D3D10_BIND_STREAM_OUTPUT.

Этот API не поддерживает индексирование или инстансирование.

Если приложению необходимо получить размер буфера потокового вывода, оно может запрашивать статистику по выходным данным потоковой передачи с помощью D3D10_QUERY_SO_STATISTICS.

Пример использования DrawAuto можно найти в примерах ParticlesGS и PipesGS Sample.

Требования

Требование Значение
Целевая платформа Windows
Header d3d10.h
Библиотека D3D10.lib

См. также раздел

Интерфейс ID3D10Device