FORMATOP 구조체(d3dumddi.h)
FORMATOP 구조체는 이러한 표면으로 수행할 수 있는 표면 형식 및 연산을 설명합니다.
구문
typedef struct _FORMATOP {
[in] D3DDDIFORMAT Format;
[out] UINT Operations;
[out] UINT FlipMsTypes;
[out] UINT BltMsTypes;
[out] UINT PrivateFormatBitCount;
} FORMATOP;
구성원
[in] Format
표면의 픽셀 형식을 나타내는 D3DDDDIFORMAT 형식 값입니다.
[out] Operations
Format 멤버에 지정된 픽셀 형식으로 표면에서 수행할 수 있는 작업을 나타내는 다음 플래그의 유효한 비트 OR입니다. 다음 플래그 중 일부는 다른 플래그를 사용해야 함을 의미합니다. 드라이버가 다른 플래그를 의미하는 플래그를 설정하는 경우 드라이버는 암시적 플래그를 설정할 필요가 없으며 Direct3D 런타임은 암시적 플래그의 사용을 결정합니다.
FORMATOP_TEXTURE(0x000000001L)
지정된 픽셀 형식의 표면을 MIP 매핑된 텍스처로 사용할 수 있습니다.
FORMATOP_VOLUMETEXTURE(0x000000002L)
이 형식의 표면은 볼륨 텍스처로 사용할 수 있습니다. 이 플래그는 FORMATOP_TEXTURE 독립적입니다. 따라서 픽셀 형식은 종래의 MIP 매핑 텍스처가 아닌 볼륨 텍스처에 사용할 수 있습니다.
FORMATOP_CUBETEXTURE(0x000000004L)
이 형식의 표면은 입방 환경 맵 텍스처로 사용할 수 있습니다. 이 플래그는 FORMATOP_TEXTURE 독립적입니다. 따라서 픽셀 형식은 기존의 MIP 매핑 텍스처가 아닌 입방 환경 맵 텍스처에 사용할 수 있습니다.
FORMATOP_OFFSCREEN_RENDERTARGET(0x000000008L)
현재 디스플레이 모드의 픽셀 형식이 FORMATOP_DISPLAYMODE 및 FORMATOP_3DACCELERATION 보고된 경우 디스플레이 모드의 픽셀 형식에 관계없이 이 형식의 표면을 오프스크린 렌더링 대상으로 사용할 수 있습니다. 현재 디스플레이 모드의 픽셀 형식에 이러한 플래그가 설정되지 않은 경우 렌더링 대상이 오프스크린인 경우에도 이 모드에서 3차원 가속을 사용할 수 없습니다. FORMATOP_OFFSCREEN_RENDERTARGET 플래그를 FORMATOP_TEXTURE 결합하여 디바이스가 지정된 픽셀 형식의 텍스처로 렌더링할 수 있음을 나타낼 수 있습니다.
또한 FORMATOP_OFFSCREEN_RENDERTARGET 플래그는 FORMATOP_SAME_FORMAT_RENDERTARGET 및 FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 플래그를 의미합니다.
FORMATOP_SAME_FORMAT_RENDERTARGET(0x00000010L)
이 형식의 표면은 렌더링 대상으로 사용할 수 있지만 표면의 픽셀 형식이 현재 디스플레이 모드의 픽셀 형식과 일치하는 경우에만 사용할 수 있습니다. 이 플래그는 오프스크린 렌더링 대상에만 적용되지 않지만 디스플레이 모드의 픽셀 형식에 지정하여 렌더링 대상 기능을 나타낼 수 있습니다. 이 플래그를 FORMATOP_TEXTURE 결합하여 디바이스가 지정된 픽셀 형식의 텍스처로 렌더링할 수 있음을 나타낼 수 있습니다.
또한 FORMATOP_SAME_FORMAT_RENDERTARGET 플래그는 FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET 플래그를 의미합니다.
FORMATOP_ZSTENCIL(0x000000040L)
이 형식의 표면은 Z/스텐실 버퍼로 사용할 수 있지만 Z/스텐실 표면의 깊이가 깊이 버퍼가 연결된 렌더링 대상의 색 깊이와 일치하는 경우에만 사용할 수 있습니다. Z/스텐실과 색 버퍼 깊이 간의 일치를 결정할 때 픽셀 보폭을 사용합니다.
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH(0x000000080L)
이 형식의 표면은 표면이 연결된 렌더링 대상의 색 깊이에 관계없이 Z/스텐실 버퍼로 사용할 수 있습니다.
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH 플래그는 FORMATOP_ZSTENCIL 플래그를 의미합니다.
FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET(0x000000100L)
현재 표시 모드가 동일한 깊이이고 알파 채널이 무시되는 경우 이 형식의 표면을 렌더링 대상으로 사용할 수 있습니다. 예를 들어 디스플레이 모드가 X8R8G8B8일 때 디바이스가 A8R8G8B8로 렌더링할 수 있는 경우 A8R8G8B8에 대한 형식 작업 목록 항목에 이 플래그가 설정되어 있어야 합니다.
FORMATOP_DISPLAYMODE(0x000000400L)
드라이버 모델(대칭 이동 포함)에서 지원하는 이 픽셀 형식의 디스플레이 모드입니다. 이 플래그는 알파 형식으로 설정하면 안 됩니다.
FORMATOP_3DACCELERATION(0x000000800L)
그래픽 가속기는 이 픽셀 형식의 디스플레이 모드에서 일부 수준의 Microsoft Direct3D 가속을 지원할 수 있으며 드라이버는 이 모드에서 컨텍스트를 만들 수 있습니다(일부 렌더링 대상 형식의 경우). 이 플래그는 표시 모드 형식을 보고하는 경우에만 사용할 수 있습니다(FORMATOP_DISPLAYMODE 지정). 이 플래그는 오프스크린 렌더링 대상 형식을 보고하는 데 사용하면 안 됩니다.
FORMATOP_PIXELSIZE(0x000001000L)
PrivateFormatBitCount 멤버의 형식에 대한 픽셀당 비트로 채워진 드라이버입니다.
드라이버에서 관리되는 표면 및 텍스처가 프라이빗 형식(Direct3D 런타임이 아닌 드라이버에서 처리할 수 있는 형식)을 사용하도록 요구하는 경우 드라이버는 PrivateFormatBitCount에서 FORMATOP_PIXELSIZE 및 픽셀 크기를 지정해야 합니다.
FORMATOP_CONVERT_TO_ARGB(0x000002000L)
이 형식의 원본 표면은 FORMATOP_MEMBEROFGROUP_ARGB 플래그가 지정된 RGB 픽셀 형식으로 대상 표면으로 변환할 수 있습니다.
FORMATOP_OFFSCREENPLAIN(0x000004000L)
드라이버는 이 형식의 표면을 늘이고 색을 칠할 수 있습니다.
FORMATOP_SRGBREAD(0x000008000L)
이 형식의 표면은 sRGB 형식의 텍스처(즉, 샘플러가 조회된 데이터를 선형화함)로 읽을 수 있습니다.
FORMATOP_BUMPMAP(0x00010000L)
이 형식의 표면은 범프 환경 맵 텍스처로 사용할 수 있습니다. 이 플래그는 FORMATOP_TEXTURE 독립적입니다. 따라서 픽셀 형식은 기존의 MIP 매핑 텍스처가 아닌 범프 환경 맵 텍스처에 사용할 수 있습니다.
FORMATOP_DMAP(0x00020000L)
변위 맵 샘플러가 이 형식의 표면을 샘플링할 수 있습니다.
FORMATOP_NOFILTER(0x00040000L)
이 형식의 표면은 텍스처 필터링과 함께 사용할 수 없습니다.
FORMATOP_MEMBEROFGROUP_ARGB(0x00080000L)
이 형식의 대상 표면은 지정된 FORMATOP_CONVERT_TO_ARGB 플래그가 있는 픽셀 형식으로 모든 원본 표면에서 변환할 수 있습니다. 드라이버는 각 채널에 대해 5비트 이상의 색 정보가 있는 ARGB 표면에 대해서만 FORMATOP_MEMBEROFGROUP_ARGB 지정할 수 있습니다. 즉, D3DDDIFMT_A1R5G5B5 형식은 유효하지만 D3DDDIFMT_A4R4G4B4 형식이 잘못되었습니다. 드라이버가 잘못된 형식의 FORMATOP_MEMBEROFGROUP_ARGB 지정하면 Direct3D 런타임에서 Direct3D HAL이 로드되지 않습니다. 이 플래그는 ARGB 형식을 나타내지만 런타임을 사용하면 드라이버가 XRGB 형식(예: D3DDDIFMT_X1R5G5B5)으로 표면을 지정할 수도 있습니다.
FORMATOP_SRGBWRITE(0x00100000L)
이 형식의 표면은 sRGB 형식 대상(즉, 픽셀 파이프가 출력의 데이터를 이 형식으로 선형화)으로 작성할 수 있습니다.
FORMATOP_NOALPHABLEND(0x00200000L)
이 형식의 표면은 알파 혼합과 함께 사용할 수 없습니다.
FORMATOP_AUTOGENMIPMAP(0x00400000L)
이 형식의 MIP 매핑 텍스처는 자동으로 생성될 수 있습니다. 드라이버가 GenerateMipSubLevels 함수에 대한 호출을 받으려면 이 플래그를 노출해야 합니다.
FORMATOP_VERTEXTEXTURE(0x00800000L)
꼭짓점 텍스처 샘플러가 이 형식의 표면을 사용할 수 있습니다. 즉, 이 형식의 표면만 꼭짓점 텍스처로 사용할 수 있습니다.
FORMATOP_NOTEXCOORDWRAPNORMIP(0x01000000L)
이 형식의 표면은 2차원 텍스처의 텍스처 매핑에만 조건부로 사용할 수 있으며, 크기는 2입니다. 자세한 내용은 D3DPRIMCAPS 참조 페이지에서 D3DPTEXTURECAPS_POW2 및 D3DPTEXTURECAPS_NONPOW2CONDITIONAL 대한 정의를 참조하세요.
FORMATOP_PLANAR(0x02000000L)
이 형식의 표면은 평면과 압축된 표면입니다. Direct3D 런타임은 표면이 손실되고 피치에 곱한 시간 높이를 계산할 수 없는 동안 평면 형식으로 표면에서 사용자 모드 디스플레이 드라이버의 Lock 함수를 호출하는 경우 버퍼를 할당해야 합니다. 대부분의 형식은 Microsoft DirectX Video Acceleration에서 사용하는 형식(예: YUV 형식)을 제외하고 압축됩니다.
FORMATOP_OVERLAY(0x04000000L)
이 형식의 표면은 오버레이 작업에 사용됩니다.
FORMATOP_CAPTURE(0x08000000L)
D3DDDI_RESOURCEFLAGS2 구조체의 VideoEncoder 멤버가 설정된 경우 이 형식의 표면을 캡처 버퍼로 사용할 수 있습니다.
Windows 8 시작 지원.
FORMATOP_VIDEO_ENCODER(0x10000000L)
D3DDDI_RESOURCEFLAGS2 구조체의 VideoEncoder 멤버가 설정된 경우 이 형식의 표면을 비디오 인코더 입력 리소스로 사용할 수 있습니다.
Windows 8 시작 지원.
FORMATOP_MULTIPLANE_OVERLAY(0x20000000L)
이 형식의 표면은 다중 평면 오버레이를 지원합니다.
Windows 8 시작 지원.
[out] FlipMsTypes
전체 화면 다중 샘플링을 위한 32비트 마스크입니다.
[out] BltMsTypes
창이 지정된 여러 샘플링에 대한 32비트 마스크입니다.
[out] PrivateFormatBitCount
드라이버에 전용인 픽셀 형식의 픽셀당 비트(즉, D3DDDIFORMAT 열거형 형식으로 정의된 표준 픽셀 형식 중 하나가 아님)입니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
| 헤더 | d3dumddi.h(D3dumddi.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기