Метод ID3D11DeviceContext::SetPredication (d3d11.h)
Задайте предикат отрисовки.
Синтаксис
void SetPredication(
[in, optional] ID3D11Predicate *pPredicate,
[in] BOOL PredicateValue
);
Параметры
[in, optional] pPredicate
Тип: ID3D11Predicate*
Указатель на интерфейс ID3D11Predicate , представляющий предикат отрисовки. Значение NULL указывает на предикат "нет"; В этом случае значение PredicateValue не имеет значения, но будет сохранено для ID3D11DeviceContext::GetPredication.
[in] PredicateValue
Тип: BOOL
Если задано значение TRUE, отрисовка будет зависеть от выполнения условий предиката. Если значение РАВНО FALSE, отрисовка будет влиять, если условия не выполняются.
Возвращаемое значение
None
Remarks
Предикат должен находиться в состоянии "выдано" или "сигнальное", чтобы использовать его для предикаций. Хотя предикат задан для предикаций, вызовы ID3D11DeviceContext::Begin и ID3D11DeviceContext::End недопустимы.
Используйте этот метод, чтобы указать, что последующие команды отрисовки и обработки ресурсов фактически не выполняются, если результирующие данные предиката равны PredicateValue. Однако некоторые предикаты являются лишь подсказками, поэтому они не могут препятствовать выполнению операций.
Основная полезность предикаций заключается в том, чтобы позволить приложению выполнять команды отрисовки и обработки ресурсов без снижения производительности при вращении, ожидая возвращения ID3D11DeviceContext::GetData . Таким образом, предикат может возникать, когда ID3D11DeviceContext::GetData возвращает S_FALSE. Другой способ представить это: приложение также может использовать предикат в качестве резервного, если возможно, что ID3D11DeviceContext::GetData возвращает S_FALSE. Если ID3D11DeviceContext::GetData возвращает S_OK, приложение может пропустить вызов команд отрисовки и обработки ресурсов вручную с помощью собственной логики приложения.
Команды отрисовки и обработки ресурсов для Direct3D 11 включают такие операции Draw, Dispatch, Copy, Update, Clear, Generate и Resolve.
- Draw
- DrawAuto
- DrawIndexed
- DrawIndexedInstanced
- DrawIndexedInstancedIndirect
- DrawInstanced
- DrawInstancedIndirect
- Dispatch
- DispatchIndirect
- CopyResource
- CopyStructureCount
- CopySubresourceRegion
- CopySubresourceRegion1
- CopyTiles
- CopyTileMappings
- UpdateSubresource
- UpdateSubresource1
- UpdateTiles
- UpdateTileMappings
- ClearRenderTargetView
- ClearUnorderedAccessViewFloat
- ClearUnorderedAccessViewUint
- ClearView
- ClearDepthStencilView
- GenerateMips
- ResolveSubresource
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d11.h |
Библиотека | D3D11.lib |