функция обратного вызова 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: обработка представления элементов глубины.
Возвращаемое значение
Никакой
Замечания
Драйвер может использовать функцию обратного вызова 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 (include D3d10umddi.h) |