Метод ID3D11DeviceContext::D rawAuto (d3d11.h)
Рисование геометрии неизвестного размера.
Синтаксис
void DrawAuto();
Возвращаемое значение
None
Remarks
API рисования отправляет работу в конвейер отрисовки. Этот API отправляет работу неизвестного размера, которая была обработана входным ассемблером, вершинным шейдером и этапами потокового вывода; работа может пройти этап геометрического шейдера.
После потоковой передачи данных в буферы этапа потокового вывода эти буферы можно снова привязать к этапу сборщика входных данных во входном слоте 0, и DrawAuto нарисует их без необходимости знать объем данных, записанных в буферы. Измерение объема данных, записываемых в буферы этапов SO, поддерживается внутренне при передаче данных. Это означает, что ЦП не нужно получить измерение перед повторной привязкой данных, которые были потоковой передачи в качестве входных данных. Хотя этот объем отслеживается внутри, приложения по-прежнему несут ответственность за использование входных макетов для описания формата данных в буферах этапов SO, чтобы макеты были доступны, когда буферы снова привязаны к ассемблере ввода.
На следующей схеме показан процесс DrawAuto.
Вызов DrawAuto не изменяет состояние буферов потокового вывода, которые были снова привязаны как входные данные.
DrawAuto работает только при рисовании с одним входным буфером, привязанным в качестве входных данных к этапу IA в слоте 0. Приложения должны создать ресурс буфера SO с флагами привязки, D3D11_BIND_VERTEX_BUFFER и D3D11_BIND_STREAM_OUTPUT.
Этот API не поддерживает индексирование или инстансирование.
Если приложению необходимо получить размер буфера потокового вывода, оно может запрашивать статистику по выходным данным потоковой передачи с помощью D3D11_QUERY_SO_STATISTICS.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3D11.lib |