DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 SetGammaRamp   [목차열람] [주소복사] [슬롯비우기]
IDirect3DDevice9::SetGammaRamp 메서드
 
Microsoft DirectX 9.0

IDirect3DDevice9::SetGammaRamp 메서드


명시하지 않는 스왑 체인의 감마 보정 곡선을 설정한다.

구문

void SetGammaRamp(      

    UINT iSwapChain,     DWORD Flags,     CONST D3DGAMMARAMP *pRamp );

파라미터

iSwapChain
[in] 스왑 체인을 지정하는 부호 없음 정수.
Flags
[in] 보정을 적용할지 어떨지를 지정한다. 감마 보정을 실시하면 한층 더 일관성이 있는 표시를 얻을 수 있지만, 처리 오버헤드가 발생할 가능성이 있으므로, 빈번하게 사용해서는 안된다. 전화면을 붉고 플래시 시키는 것 같은 단시간의 이펙트에 대해서 calibration를 실시할 필요는 없지만, 장시간의 감마 변화에 대해서는 calibration를 실시할 필요가 있다. 다음의 플래그의 어느쪽이든을 설정할 수 있다.
D3DSGR_CALIBRATE
간마캐리브레이타가 인스톨 되고 있는 경우는, 시스템 및 모니터의 응답 커브에 맞추어, 장치에 송신되기 전에 곡선이 조정된다. 캐리브레이타가 인스톨되지 않은 경우는, 곡선은 장치에 직접 건네받는다.
D3DSGR_NO_CALIBRATION
감마 보정을 적용하지 않는다. 제공되고 있는 감마 테이블이, 장치에 직접 전송 된다.
pRamp
[in] D3DGAMMARAMP 구조체의 포인터. 명시하지 않는 스왑 체인으로 설정하는 감마 보정 곡선을 나타낸다.

반환값

없음.

주의

Microsoft® Direct3D® for Microsoft DirectX® 9.0 은 장치의 프로퍼티로서 1 개의 스왑 체인을 가지고 있기 (위해)때문에, 각 장치에 대해서, 항상 적어도 1 개의 스왑 체인 (명시하지 않는 스왑 체인)이 존재한다.

버전 DirectX 8. x 이후, 스왑 체인이 풀 스크린이 아닌 한, 감마 곡선의 설정은 무효이다. 윈도우 모드로 감마 곡선을 변경하려면 , Microsoft Windows® Graphics Device Interface (GDI) 함수 SetDeviceGammaRamp 를 사용한다. 이 함수는, 액티브 윈도우 뿐만이 아니라 스크린 전체에 영향을 준다. SetDeviceGammaRamp 에서는, 모두 빨강등의 "극단적인" 감마 곡선을 사용할 수 없다. 한편,IDirect3DDevice9::SetGammaRamp 는, 애플리케이션을 최소화 또는 종료했을 때에 감마 곡선을 클린 업 해, 애플리케이션을 복원했을 때에 감마 곡선을 복원한다.

감마 곡선은 즉시 유효하게 된다. VSYNC 의 대기는 발생하지 않는다.

장치가 스왑 체인의 현재의 프레젠테이션 모드 (풀 스크린 또는 윈도우)에 대해 감마 곡선을 지원 하고 있지 않는 경우에서도, 에러가 돌아갈 것은 없다. 애플리케이션에서는,D3DCAPS9 구조체의 Caps2 멤버의 D3DCAPS2_FULLSCREENGAMMA 능력 비트 및 D3DCAPS2_CANCALIBRATEGAMMA 능력 비트를 조사해, 장치의 능력 및 캐리브레이타가 인스톨 되고 있는지를 판단할 수 있다.

참조

IDirect3DSwapChain9 ,IDirect3DDevice9::GetGammaRamp


© 2002 Microsoft Corporation. All rights reserved.
↑TOP