Share via


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::BeginID3D11DeviceContext::End에 대한 호출이 잘못되었습니다.

조건자의 결과 조건자 데이터가 PredicateValue와 같은 경우 후속 렌더링 및 리소스 조작 명령이 실제로 수행되지 않음을 나타내려면 이 메서드를 사용합니다. 그러나 일부 조건자는 힌트일 뿐이므로 실제로 작업이 수행되는 것을 막을 수 없습니다.

조건자의 주요 유용성은 애플리케이션이 ID3D11DeviceContext::GetData 가 반환할 때까지 기다리면서 성능이 저하되지 않고 렌더링 및 리소스 조작 명령을 실행할 수 있도록 하는 것입니다. 따라서 ID3D11DeviceContext::GetDataS_FALSE 반환하는 동안 조건자가 발생할 수 있습니다. 이를 생각하는 또 다른 방법: ID3D11DeviceContext::GetDataS_FALSE 반환할 수 있는 경우 애플리케이션에서 조건자를 대체로 사용할 수도 있습니다. ID3D11DeviceContext::GetDataS_OK 반환하는 경우 애플리케이션은 자체 애플리케이션 논리를 사용하여 렌더링 및 리소스 조작 명령 호출을 수동으로 건너뛸 수 있습니다.

Direct3D 11에 대한 렌더링 및 리소스 조작 명령에는 그리기, 디스패치, 복사, 업데이트, 지우기, 생성 및 해결 작업이 포함됩니다.

즉시 또는 지연된 컨텍스트에서 렌더링 조건자를 설정할 수 있습니다. 즉시 및 지연된 컨텍스트에 대한 자세한 내용은 직접 실행 및 지연된 렌더링을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext