Метод ID3D11DeviceContext::SOSetTargets (d3d11.h)
Задайте целевые буферы вывода для этапа потокового вывода конвейера.
Синтаксис
void SOSetTargets(
[in] UINT NumBuffers,
[in, optional] ID3D11Buffer * const *ppSOTargets,
[in, optional] const UINT *pOffsets
);
Параметры
[in] NumBuffers
Тип: UINT
Число буферов для привязки к устройству. Можно задать не более четырех буферов вывода. Если в вызове определено менее четырех слотов буфера, для оставшихся буферных слотов устанавливается значение NULL. См. заметки.
[in, optional] ppSOTargets
Тип: ID3D11Buffer*
Массив выходных буферов (см . ID3D11Buffer) для привязки к устройству. Буферы должны быть созданы с флагом D3D11_BIND_STREAM_OUTPUT .
[in, optional] pOffsets
Тип: const UINT*
Массив смещений к буферам вывода из ppSOTargets, по одному смещению для каждого буфера. Значения смещения должны быть в байтах.
Возвращаемое значение
None
Remarks
Смещение -1 приведет к добавлению выходного буфера потока, продолжающегося после последнего расположения, записанного в буфер в предыдущем проходе вывода потока.
Вызов этого метода с помощью буфера, который в настоящее время привязан к записи, фактически привязывает значение NULL , так как буфер не может быть привязан одновременно как входной, так и выходной.
Уровень отладки будет создавать предупреждение всякий раз, когда ресурс не может быть привязан одновременно в качестве входных и выходных данных, но это не предотвратит использование недопустимых данных средой выполнения.
Метод будет содержать ссылку на переданные интерфейсы. Это отличается от поведения состояния устройства в Direct3D 10.
Обратите внимание, что в отличие от некоторых других методов ресурсов в Direct3D, все текущие привязанные целевые объекты будут несвязаны путем вызова SOSetTargets(0, nullptr, nullptr);
.
Windows Phone 8. Этот API поддерживается.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3D11.lib |