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이면 조건이 충족되지 않으면 렌더링이 영향을 받습니다.
반환 값
없음
설명
조건자는 조건자에서 사용할 "발급됨" 또는 "신호" 상태여야 합니다. 조건자가 조건자용으로 설정되어 있는 동안 ID3D11DeviceContext::Begin 및 ID3D11DeviceContext::End에 대한 호출이 잘못되었습니다.
조건자의 결과 조건자 데이터가 PredicateValue와 같은 경우 후속 렌더링 및 리소스 조작 명령이 실제로 수행되지 않음을 나타내려면 이 메서드를 사용합니다. 그러나 일부 조건자는 힌트일 뿐이므로 실제로 작업이 수행되는 것을 막을 수 없습니다.
조건자의 주요 유용성은 애플리케이션이 ID3D11DeviceContext::GetData 가 반환할 때까지 기다리면서 성능이 저하되지 않고 렌더링 및 리소스 조작 명령을 실행할 수 있도록 하는 것입니다. 따라서 ID3D11DeviceContext::GetData 가 S_FALSE 반환하는 동안 조건자가 발생할 수 있습니다. 이를 생각하는 또 다른 방법: ID3D11DeviceContext::GetData 가 S_FALSE 반환할 수 있는 경우 애플리케이션에서 조건자를 대체로 사용할 수도 있습니다. ID3D11DeviceContext::GetData가 S_OK 반환하는 경우 애플리케이션은 자체 애플리케이션 논리를 사용하여 렌더링 및 리소스 조작 명령 호출을 수동으로 건너뛸 수 있습니다.
Direct3D 11에 대한 렌더링 및 리소스 조작 명령에는 그리기, 디스패치, 복사, 업데이트, 지우기, 생성 및 해결 작업이 포함됩니다.
- 그리기
- 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 |
헤더 | d3d11.h |
라이브러리 | D3D11.lib |