다음을 통해 공유


IDirect3DDevice9::SetGammaRamp 메서드(d3d9helper.h)

암시적 스왑 체인에 대한 감마 수정 램프를 설정합니다. 이 메서드는 전체 화면에 영향을 줍니다(창 모드에서 실행하는 경우 활성 창뿐만 아니라).

구문

void SetGammaRamp(
  [in] UINT               iSwapChain,
  [in] DWORD              Flags,
  [in] const D3DGAMMARAMP *pRamp
);

매개 변수

[in] iSwapChain

형식: UINT

스왑 체인을 지정하는 부호 없는 정수입니다.

[in] Flags

형식: DWORD

수정을 적용해야 하는지 여부를 나타냅니다. 감마 수정은 보다 일관된 디스플레이를 생성하지만 처리 오버헤드가 발생할 수 있으며 자주 사용하지 않아야 합니다. 전체 화면 빨간색 깜박임과 같은 짧은 기간 효과는 보정하면 안 되지만 장시간 감마 변경 내용을 보정해야 합니다. 다음 값 중 하나를 설정할 수 있습니다.

항목 Description
D3DSGR_CALIBRATE 감마 보정기가 설치된 경우 램프는 시스템에 대한 계정 및 응답 곡선을 모니터링하기 위해 디바이스로 전송되기 전에 수정됩니다. 보정기가 설치되어 있지 않으면 램프가 디바이스에 직접 전달됩니다.
D3DSGR_NO_CALIBRATION 감마 수정이 적용되지 않습니다. 제공된 감마 테이블은 디바이스로 직접 전송됩니다.

[in] pRamp

형식: const D3DGAMMARAMP*

암시적 스왑 체인에 대해 설정할 감마 보정 램프를 나타내는 D3DGAMMARAMP 구조체에 대한 포인터입니다.

반환 값

없음

설명

Direct3D 9에는 디바이스의 속성으로 하나의 스왑 체인이 있기 때문에 항상 각 디바이스에 대해 하나 이상의 스왑 체인(암시적 스왑 체인)이 있습니다. 감마 램프는 즉시 적용됩니다. 세로 동기화를 기다리지 않습니다.

디바이스가 스왑 체인의 현재 프레젠테이션 모드(전체 화면 또는 창)에서 감마 램프를 지원하지 않는 경우 오류 반환이 제공되지 않습니다. 애플리케이션은 D3DCAPS9 구조의 Caps2 멤버에서 D3DCAPS2_FULLSCREENGAMMA 및 D3DCAPS2_CANCALIBRATEGAMMA 기능 비트를 검사 디바이스의 기능과 보정기가 설치되어 있는지 여부를 확인할 수 있습니다.

창이 있는 감마 수정 프레젠테이션의 경우 하드웨어가 기능을 지원하는 경우 IDirect3DSwapChain9::P resent 를 사용합니다. DirectX 8에서 SetGammaRamp는 전체 화면 모드 애플리케이션에서만 감마 램프를 설정합니다. 감마 수정에 대한 자세한 내용은 감마(Direct3D 9)를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9

IDirect3DDevice9::GetGammaRamp

IDirect3DSwapChain9