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


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

Задайте предикат отрисовки.

Синтаксис

void SetPredication(
  [in] ID3D10Predicate *pPredicate,
  [in] BOOL            PredicateValue
);

Параметры

[in] pPredicate

Тип: ID3D10Predicate*

Указатель на предикат (см. ID3D10Predicate). Значение NULL указывает на предикат "нет"; В этом случае значение PredicateValue не имеет значения, но будет сохранено для ID3D10Device::GetPredication.

[in] PredicateValue

Тип: BOOL

Если задано значение TRUE, отрисовка будет зависеть от выполнения условий предиката. Если значение РАВНО FALSE, отрисовка будет влиять, если условия не выполняются.

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

None

Remarks

Предикат должен находиться в состоянии "выдано" или "сигнальное", чтобы использовать его для предикаций. Хотя предикат задан для предикаций, вызовы ID3D10Asynchronous::Begin и ID3D10Asynchronous::End недопустимы.

Этот метод используется для обозначения того, что последующие команды отрисовки и обработки ресурсов фактически не выполняются, если результирующие данные Предиката в предикате равны PredicateValue. Однако некоторые предикаты являются только указаниями, поэтому они не могут препятствовать выполнению операций.

Основная полезность предикаций заключается в том, чтобы позволить приложению выполнять графические команды без снижения производительности при вращении, ожидая возврата ID3D10Asynchronous::GetData . Таким образом, предикация может возникать, когда ID3D10Asynchronous::GetData возвращает S_FALSE. Другой способ представить это: приложение также может использовать Предикат в качестве резервного, если возможно, что ID3D10Asynchronous::GetData возвращает S_FALSE. Если ID3D10Asynchronous::GetData возвращает S_OK, приложение может пропустить вызов графических команд вручную с собственной логикой приложения.

Требования

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

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

Интерфейс ID3D10Device