다음을 통해 공유


D3DPRESENTFLAG

D3DPRESENT_PARAMETERS 사용하는 상수입니다.

#define 설명
D3DPRESENTFLAG_DEVICECLIP 0x00000004 Direct3D 디바이스를 만든 비디오 어댑터의 모니터 화면 영역 내에서 창 클라이언트 영역에 창 프레젠테이션 블릿을 클리핑합니다. D3DPRESENTFLAG_DEVICECLIP D3DSWAPEFFECT_FLIPEX 사용할 수 없습니다.
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 z-buffer dis카드ing을 사용하도록 디바이스 또는 스왑 체인을 만들 때 이 플래그를 설정합니다. 이 플래그를 설정하면 깊이 표면이 다른 Present 또는 SetDepthStencilSurface를 호출한 후 깊이 스텐실 버퍼의 내용이 유효하지 않습니다. dis카드 z-buffer 데이터를 사용하면 성능이 향상되고 드라이버가 종속됩니다. 디버그 런타임은 Present 또는 SetDepthStencilSurface를 다른 깊이 표면으로 호출한 후 z 버퍼를 일정한 값으로 지우면 dis카드ing을 적용합니다.
모든 잠금 가능한 형식, D3DFMT_D16_LOCKABLE 및 D3DFMT_D32F_LOCKABLE 대해 z 버퍼 데이터를 카드 것은 불법입니다. 잠금 가능한 형식 및 z-버퍼 dis카드ing을 지정하는 CreateDevice를 사용하면 실패합니다. 형식에 대한 자세한 내용은 D3DFORMAT 참조하세요.
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 애플리케이션에서 백 버퍼를 직접 잠그는 기능이 필요한 경우 이 플래그를 설정합니다. 애플리케이션에서 CreateDevice 또는 Reset을 호출할 때 D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 지정하지 않으면 백 버퍼를 잠글 수 없습니다. 잠금 가능한 백 버퍼는 일부 그래픽 하드웨어 구성에 성능 비용이 발생합니다. 잠금 가능한 백 버퍼에서 잠금 작업(또는 UpdateSurface를 사용하여 쓰기)을 수행하면 많은 카드 성능이 저하됩니다. 이 경우 텍스처 삼각형을 사용하여 데이터를 백 버퍼로 이동하는 것이 좋습니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
Direct3D9Ex에서 대칭 이동 모델을 사용하면 데스크톱 창 관리자가 애플리케이션의 백 버퍼에 액세스할 수 있으므로 D3DSWAPEFFECT D3DSWAPEFFECT_FLIPEX 경우 이 플래그를 설정할 수 없습니다. 크로스 프로세스 공유 표면은 잠가서는 안 됩니다.

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 회전된 모니터는 프레젠테이션 중에 회전 복사본을 사용하여 자동으로 처리되므로 효율적이지 않습니다. 이 플래그는 애플리케이션이 자체 디스플레이 회전을 수행한다는 것을 의미합니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

애플리케이션은 회전된 뷰 매트릭스를 사용하여 자체 회전을 수행할 수 있습니다. GetDisplayModeEx GetAdapterDisplayModeEx 메서드를 사용하여 현재 회전 설정을 찾아야 합니다. CreateDeviceEx 및 ResetEx 백버퍼 너비 및 높이 매개 변수는 가로 방향을 사용해야 하며, 전체 화면 표시 모드 구조는 EnumAdapterModesEx에서 반환되는 것과 동일해야 합니다(즉, 너비 및 높이가 90도 및 270도 회전할 때 교환됨).

회전된 렌더링 대상에서 잠금을 사용하는 경우 왼쪽 위 모서리 가정은 더 이상 true가 되지 않습니다. 렌더링 대상 SURFACE_DESC 다시 기본 환경(생성 매개 변수에 암시됨)과 GDI 창, 마우스 좌표 등이 Direct3D 렌더링 대상 및 장면과 함께 사용될 때 올바르게 변환되어야 합니다.

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 Direct3D에서 모드가 잘못되었음을 표시했더라도 이 플래그를 사용하여 디스플레이 어댑터에 의해 열거된 RAW 디스플레이 모드를 지정할 수 있습니다. 애플리케이션은 원하는 모드가 실제로 유효하지 않은 경우 이를 강력한 방식으로 구현해야 합니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DPRESENTFLAG_VIDEO 0x00000010 이는 백 버퍼에 비디오 데이터가 포함된다는 것을 드라이버에 대한 힌트입니다.
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 오버레이가 전체 범위 RGB인지 아니면 제한된 범위 RGB인지를 지정합니다. 이 플래그를 설정하면 제한된 범위 RGB가 표시됩니다. 제한된 범위 RGB에서 RGB 범위는 16:16:16이 검은색이고 235:235:235가 흰색이 되도록 압축됩니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 오버레이가 BT.601인지 BT.709인지를 지정합니다. 이 플래그를 설정하면 HDTV(고화질 TV)의 경우 BT.709가 표시됩니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 오버레이가 기존의 YCbCr인지 또는 확장된 YCbCr(xvYCC)인지를 지정합니다. 이 플래그를 설정하면 확장된 YCbCr(xvYCC)이 표시됩니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 이 플래그를 설정하면 스왑 체인에 보호된 콘텐츠가 포함되고 런타임에서 스왑 체인에 대한 액세스를 자동으로 제한하므로 DWM(데스크톱 Windows 관리자)만 스왑 체인을 사용할 수 있습니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 이 플래그를 설정하면 드라이버가 DWM 상호 작용을 위해 만든 공유 리소스에 대한 액세스를 제한해야 합니다. 호출자는 드라이버로 인증된 채널을 만들어야 합니다. 그런 다음 드라이버는 공유 리소스를 열려는 프로세스에 대한 액세스를 허용해야 합니다.
Direct3D 9와 Direct3D 9Ex의 차이점:
이 플래그는 Direct3D 9Ex에서만 사용할 수 있습니다.

 

 

이러한 상수는 D3DPRESENT_PARAMETERS 사용됩니다.

상수 정보

요구 사항
헤더 d3d9types.h
최소 운영 체제 Windows 98

 

Direct3D 상수