функция обратного вызова PFND3D10DDI_SETRENDERTARGETS (d3d10umddi.h)
Наборы функций обратного вызова SetRenderTargets отрисовки целевых поверхностей.
Синтаксис
PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;
void Pfnd3d10ddiSetrendertargets(
[in] D3D10DDI_HDEVICE unnamedParam1,
[in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
[in] UINT NumViews,
[in] UINT ClearSlots,
[in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}
Параметры
[in] unnamedParam1
hDevice: дескриптор устройства отображения (графический контекст).
[in] unnamedParam2
phRenderTargetView: массив дескрипторов для заданных объектов целевого представления отрисовки. Обратите внимание, что некоторые значения дескриптора могут иметь значение NULL.
[in] NumViews
: количество элементов в массиве, указанного phRenderTargetView .
[in] ClearSlots
Число целевых слотов отрисовки после числа слотов, заданных NumViews , для которых задано значение NULL. Это число представляет разницу между предыдущим количеством объектов целевого представления отрисовки (то есть, когда среда выполнения Microsoft Direct3D ранее называлась SetRenderTargets) и новым числом объектов целевого представления отрисовки.
Обратите внимание, что число, указанное ClearTargets , является лишь помощником по оптимизации, так как драйвер отображения пользовательского режима может вычислить это число.
[in] unnamedParam5
hDepthStencilView: обработка представления трафарета глубины.
Возвращаемое значение
None
Remarks
Драйвер может использовать функцию обратного вызова pfnSetErrorCb , чтобы задать код ошибки.
Драйвер отображения пользовательского режима должен задать все целевые поверхности отрисовки и буфер трафарета глубины атомарно в виде одной операции.
Хотя параметр NumViews указывает количество дескрипторов в массиве, указанное параметром phRenderTargetView , некоторые значения дескрипторов в массиве могут иметь значение NULL.
Диапазон целевых поверхностей отрисовки между числом, которое указывает NumViews , и максимальным количеством допустимых целевых поверхностей отрисовки должен содержать все значения NULL или несвязанные значения. Число, указанное параметром ClearTargets , сообщает драйверу о том, сколько точек привязки драйвер должен очистить для текущей атомарной операции.
Если предыдущий вызов SetRenderTargets передавал значение 2 в параметре NumViews , а текущий вызов SetRenderTargets передает значение 4 в NumViews, текущий вызов SetRenderTargets также передает значение 0 в параметре ClearTargets . Если следующий последовательный вызов SetRenderTargets передает значение 1 в NumViews, последующий вызов также передает значение 3 (4 –1) в ClearTargets.
При запросе значения четких целевых объектов во время выполнения запросов в пользовательском режиме значение представляет собой разницу между максимальным числом целевых поверхностей отрисовки.
Драйвер не должен столкнуться с какой-либо ошибкой, за исключением D3DDDIERR_DEVICEREMOVED. Таким образом, если драйвер передает любую ошибку, за исключением D3DDDIERR_DEVICEREMOVED, в вызове функции pfnSetErrorCb , среда выполнения Microsoft Direct3D определит, что ошибка является критической. Даже если устройство было удалено, драйвер не должен возвращать D3DDDIERR_DEVICEREMOVED; Однако если удаление устройства мешало работе SetRenderTargets (что обычно не должно происходить), драйвер может вернуть D3DDDIERR_DEVICEREMOVED.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по