Поделиться через


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

Задайте целевые выходные буферы для этапа StreamOutput , который позволяет или отключает поток данных конвейера.

Синтаксис

void SOSetTargets(
  [in] UINT         NumBuffers,
  [in] ID3D10Buffer * const *ppSOTargets,
  [in] const UINT   *pOffsets
);

Параметры

[in] NumBuffers

Тип: UINT

Число буферов для привязки к устройству. Можно задать не более четырех буферов вывода. Если вызов определяет менее четырех слотов, остальным буферным слотам присваивается значение NULL. См. заметки.

[in] ppSOTargets

Тип: ID3D10Buffer*

Массив выходных буферов (см. ID3D10Buffer) для привязки к устройству. Буферы должны быть созданы с флагом D3D10_BIND_STREAM_OUTPUT .

[in] pOffsets

Тип: const UINT*

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

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

None

Remarks

Вызовите ID3D10Device::SOSetTargets (перед любыми вызовами draw) для потоковой передачи данных; вызовите SOSetTargets с значением NULL , чтобы остановить потоковую передачу данных. Пример см. в разделе Упражнение 01 из семинара GDC 2007, в котором задаются выходные целевые значения потоковой отрисовки перед вызовом методов draw в функции RenderInstanceToStream.

Смещение -1 приведет к добавлению выходного буфера потока после последнего расположения, записанного в буфер в предыдущем проходе вывода потока.

Вызов этого метода с использованием буфера, который в настоящее время привязан для записи, приведет к эффективной привязке NULL , так как буфер не может быть связан как входные, так и выходные данные одновременно.

Уровень отладки будет создавать предупреждение всякий раз, когда ресурс не может быть связан одновременно как входные и выходные данные, но это не помешает использовать недопустимые данные в среде выполнения.

Метод не будет содержать ссылку на переданные интерфейсы. По этой причине приложения должны быть осторожны, чтобы не освободить интерфейс, используемый в настоящее время устройством.

Требования

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

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

Интерфейс ID3D10Device