DDSCAPS2 구조체(ddraw.h)

DDSCAPS2 구조체는 Microsoft DirectDraw 표면 개체의 추가 기능을 정의합니다.

구문

typedef struct _DDSCAPS2 {
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCaps3;
  union {
    DWORD dwCaps4;
    DWORD dwVolumeDepth;
  } DUMMYUNIONNAMEN;
} DDSCAPS2;

멤버

dwCaps

표면의 기능을 나타내는 플래그 집합을 지정합니다. 이 멤버의 플래그는 DDSCAPS 구조체의 해당 멤버에 있는 플래그와 동일합니다.

dwCaps2

추가 표면 기능을 나타내는 플래그 집합을 지정합니다. 이 멤버는 다음 기능 플래그 중 하나 이상을 포함할 수 있습니다. DDSCAPS2_TEXTUREMANAGE 제외한 이러한 각 플래그는 애플리케이션이 CreateSurface 메서드를 호출할 때 애플리케이션에 의해 설정됩니다.

플래그 의미

DDSCAPS2_ADDITIONALPRIMARY

Microsoft DirectX 9.0 이상 버전만.

다중 헤드 카드 하위 헤드가 이 비트 집합을 사용하여 해당 하위 헤드에 대해 표면을 만든 후 더 이상 비디오 메모리를 제어할 수 없음을 나타냅니다. 이러한 표면이 파괴되면 종속 헤드는 메모리를 다시 제어할 수 있습니다. 자세한 내용은 Multiple-Head 메모리 관리를 참조하세요.

DDSCAPS2_COMMANDBUFFER

Microsoft Direct3D에서 일괄 처리 명령에 사용하는 명령 버퍼를 표시합니다.

DDSCAPS2_CUBEMAP

이 표면은 입방형 환경 맵입니다. 이 플래그를 사용하는 경우 만들 입방형 환경 맵의 얼굴이나 얼굴도 지정합니다.

DDSCAPS2_CUBEMAP_POSITIVEX

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방형 환경 맵의 양수 X 얼굴을 만드는 데 사용됩니다.

DDSCAPS2_CUBEMAP_NEGATIVEX

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방형 환경 맵의 음수 X 얼굴을 만드는 데 사용됩니다.

DDSCAPS2_CUBEMAP_POSITIVEY

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방 환경 맵의 양수 Y 얼굴을 만드는 데 사용됩니다.

DDSCAPS2_CUBEMAP_NEGATIVEY

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 사용하여 입방 환경 맵의 음수 Y 얼굴을 만듭니다.

DDSCAPS2_CUBEMAP_POSITIVEZ

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방 환경 맵의 양수 Z 면을 만드는 데 사용됩니다.

DDSCAPS2_CUBEMAP_NEGATIVEZ

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방 환경 맵의 음수 Z 얼굴을 만드는 데 사용됩니다.

DDSCAPS2_CUBEMAP_ALLFACES

이 플래그는 DDSCAPS2_CUBEMAP 플래그와 함께 입방 환경 맵의 6개 얼굴을 모두 만드는 데 사용됩니다.

DDSCAPS2_D3DTEXTUREMANAGE

텍스처는 항상 Direct3D에서 관리됩니다.

DDSCAPS2_DISCARDBACKBUFFER

DirectX 8.0 이상 버전만 해당합니다.

백 버퍼를 보존할 필요가 없음을 나타냅니다. 애플리케이션이 Present API에서 D3DSWAPEFFECT_DISCARD 설정한 경우 기본 표면 및 백 버퍼에 설정됩니다. DirectX 9.0 이상 버전만 해당합니다. 깊이 스텐실 표면을 보존할 필요가 없음을 나타냅니다.

DDSCAPS2_DONOTPERSIST

관리되는 표면은 안전하게 손실될 수 있습니다.

DDSCAPS2_ENABLEALPHACHANNEL

DirectX 8.1 이상 버전만 해당합니다.

기본 대칭 이동 체인의 일부이거나 독립 실행형 백 버퍼에 있는 표면을 만들도록 나타냅니다. 이 플래그는 알파 채널을 켭니다. 자세한 내용은 Full-Screen 백 버퍼에서 알파 채널 사용을 참조하세요.

DDSCAPS2_EXTENDEDFORMATPRIMARY

DirectX 9.0 이상 버전만 해당합니다.

비표준 표시 모드에서 사용할 더미 기본 표면을 만들도록 나타냅니다. 자세한 내용은 표준 모드와 비표준 모드 간 전환을 참조하세요.

DDSCAPS2_HARDWAREDEINTERLACE

드라이버는 인터레이스된 신호를 프로그레시브 프레임으로 변환해야 합니다. 이 구조체의 DDSCAPS_VIDEOPORT 및 DDSCAPS_OVERLAY 플래그도 설정해야 합니다.

DDSCAPS2_HINTANTIALIASING

애플리케이션은 앤티앨리어싱을 사용합니다. 이 플래그는 DDSCAPS_3DDEVICE 플래그도 설정된 경우에만 유효합니다.

DDSCAPS2_HINTDYNAMIC

애플리케이션은 표면을 자주 업데이트합니다. 이 플래그가 설정된 Surface에는 이 구조 집합의 DDSCAPS_TEXTURE 플래그도 있어야 합니다. 이 플래그는 DDSCAPS2_HINTSTATIC 또는 DDSCAPS2_OPAQUE 플래그와 함께 사용할 수 없습니다.

DDSCAPS2_HINTSTATIC

애플리케이션은 표면을 자주 업데이트하지 않지만 여전히 액세스가 필요합니다. 이 플래그가 설정된 Surface에는 이 구조 집합의 DDSCAPS_TEXTURE 플래그도 있어야 합니다. 이 플래그는 DDSCAPS2_HINTDYNAMIC 또는 DDSCAPS2_OPAQUE 플래그와 함께 사용할 수 없습니다.

DDSCAPS2_INDEXBUFFER

DirectX 8.0 이상 버전만 해당합니다.

애플리케이션에서 만들고 제어하는 인덱스 버퍼를 표시합니다.

DDSCAPS2_MIPMAPSUBLEVEL

루트 표면에 둘 이상의 밉맵 표면이 연결된 큐브 맵과 같은 표면 구문에 대해 EnumAttachedSurface가 아닌 GetAttachedSurface를 더 쉽게 사용할 수 있습니다. GetAttachedSurface 호출이 최상위 얼굴과 연결된 밉맵 수준을 구분할 수 있도록 Mipmapped 큐브 맵의 모든 논탑 수준 표면에 설정해야 합니다. 이 기능 비트는 CreateSurface에서 무시됩니다.

DDSCAPS2_NOTUSERLOCKABLE

DirectX 8.0 이상 버전만 해당합니다.

대칭 이동 체인을 잠글 수 없거나 잠글 수 없는 렌더링 대상에서 기본 버퍼와 백 버퍼에 설정합니다. 이렇게 하면 드라이버가 백그라운드에서 최적화를 수행할 수 있습니다. 드라이버가 이러한 경우를 처리해야 하므로 표면을 잠글 수 있지만 이러한 잠금은 드물며 속도가 빠르지 않을 것으로 예상됩니다. 또한 드라이버는 이 플래그가 있으면 깊이/스텐실 버퍼를 잠글 수 있는지 여부를 확인할 수 있습니다.

DDSCAPS2_NPATCHES

DirectX 8.0 이상 버전만 해당합니다.

꼭짓점 버퍼 데이터를 사용하여 n 패치를 렌더링할 수 있음을 나타냅니다.

DDSCAPS2_OPAQUE

애플리케이션은 해당 표면의 나머지 수명 동안 화면을 잠그거나, 숨기거나, 업데이트하지 않습니다. 드라이버는 압축을 풀지 않고도 표면을 압축하거나 순서를 변경할 수 있습니다. 이 플래그가 설정된 Surface에는 이 구조 집합의 DDSCAPS_TEXTURE 플래그도 있어야 합니다. 이 플래그는 DDSCAPS2_HINTDYNAMIC 또는 DDSCAPS2_HINTSTATIC 플래그와 함께 사용할 수 없습니다.

DDSCAPS2_POINTS

DirectX 8.0 이상 버전만 해당합니다.

꼭짓점 버퍼 데이터를 사용하여 점 및 점 스프라이트를 렌더링할 수 있음을 나타냅니다.

DDSCAPS2_RTPATCHES

DirectX 8.0 이상 버전만 해당합니다.

꼭짓점 버퍼 데이터를 사용하여 rt-patches를 렌더링할 수 있음을 나타냅니다.

DDSCAPS2_STEREOSURFACELEFT

이 표면은 스테레오 대칭 이동 체인의 일부입니다. CreateSurface 호출 중에 이 플래그를 설정하면 기본 대칭 이동 체인의 각 버퍼에 대해 스테레오 표면 쌍이 만들어집니다. 백 버퍼를 사용하여 복잡한 대칭 이동 체인을 만들어야 합니다. 스테레오 표면의 단일 집합을 만들 수 없습니다. Flip 메서드에는 백 버퍼가 필요하므로 4개 이상의 표면을 만들어야 합니다.

또한 EnumDisplayModes 또는 GetDisplayMode 호출의 결과로 DDSURFACEDESC 구조에서 이 플래그가 설정되면 해당 모드에서 스테레오에 대한 지원을 나타냅니다.

DDSCAPS2_TEXTUREMANAGE

클라이언트는 가능하면 드라이버에서 이 텍스처 표면을 관리해야 하며, 그렇지 않으면 Direct3D 직접 실행 모드로 관리됩니다. 이 플래그는 dwCaps 멤버에서 설정된 텍스처 표면(DDSCAPS_TEXTURE 플래그)에만 사용할 수 있습니다. 자세한 내용은 Direct3D 직접 실행 모드 설명서의 자동 텍스처 관리를 참조하세요.

DDSCAPS2_VERTEXBUFFER

애플리케이션에서 만들고 제어하는 명시적 꼭짓점 버퍼를 표시합니다.

DDSCAPS2_VOLUME

DirectX 8.0 이상 버전만 해당합니다.

이 플래그는 너비와 높이 외에도 텍스처에 깊이가 있는 경우 설정됩니다.

dwCaps3

DirectX 8.0 및 DirectX 8.1 버전만 해당합니다.

다중 샘플링된 표면의 샘플 수를 지정합니다. 이 필드는 열거형 형식 D3DMULTISAMPLE_TYPE 값 중 하나를 보유합니다. 표면이 다중 샘플링되지 않은 경우 dwCaps3 의 값은 D3DMULTISAMPLE_NONE(0)입니다.

DirectX 9.0 이상 버전만 해당합니다.

추가 표면 기능을 나타내는 비트 집합을 지정합니다. 이 멤버는 다음 비트의 비트 OR일 수 있습니다.

비트 의미

DDSCAPS3_MULTISAMPLE_MASK 마스크의 비트(0x0000001FL)입니다.

dwCaps3의 처음 5비트에서는 다중 샘플링된 표면의 샘플 수를 나타냅니다. D3DMULTISAMPLE_TYPE 열거형 형식의 값 중 하나를 사용하여 샘플 수를 지정할 수 있습니다. 표면이 다중 샘플링되지 않은 경우 이 값은 D3DMULTISAMPLE_NONE(0)입니다.

DDSCAPS3_MULTISAMPLE_QUALITY_MASK 마스크의 비트(0x000000E0L).

dwCaps3의 다음 세 비트는 다중 샘플링된 표면에서 샘플 렌더링의 품질 수준을 나타냅니다. 품질 수준은 각각 1에서 8까지의 품질 수준을 나타내는 0에서 7까지의 숫자여야 합니다. 표면이 다중 샘플링되지 않더라도(D3DMULTISAMPLE_NONE 사용하여 처음 5비트에서 지정됨) 여전히 1보다 큰 품질 수준을 가질 수 있습니다(0보다 큰 숫자를 사용하여 지정됨).

DDSCAPS3_RESERVED1(0x000000100L)

예약됨

DDSCAPS3_VIDEO(0x00000200L)

렌더링 대상에 비디오 데이터가 포함되어 있음을 나타냅니다. 이 플래그를 사용하여 여러 렌더링 대상을 만들 수 있으며 이러한 렌더링 대상 중 두 개 이상이 동일한 Direct3D 컨텍스트에 속하는 경우 드라이버는 렌더링 대상 표면이 서로 연결되어 있는지 여부에 관계없이 이러한 렌더링 대상이 모두 동일한 비디오 스트림을 표시한다고 결정합니다.

DDSCAPS3_LIGHTWEIGHTMIPMAP(0x000000400L)

이 표면에 경량 밉 수준이 있는지 여부를 나타냅니다.

DDSCAPS3_AUTOGENMIPMAP(0x00000800L)

이 표면의 mip sublevel이 자동으로 생성됨을 나타냅니다.

DDSCAPS3_DMAP(0x000001000L)

테셀레이션 단위의 변위 맵 샘플러에서 샘플링할 수 있는 변위 맵 텍스처를 나타냅니다.

DUMMYUNIONNAMEN

해당 없음

DUMMYUNIONNAMEN.dwCaps4

낮은 단어는 볼륨 텍스처의 깊이입니다.

DUMMYUNIONNAMEN.dwVolumeDepth

볼륨 텍스처 비트 깊이를 지정합니다.

설명

이 구조는 드라이버에서 드라이버가 지원하는 표면 유형을 보고하는 데 사용됩니다. 또한 생성할 표면의 유형을 지정하는 애플리케이션에 의해 채워집니다.

요구 사항

   
머리글 ddraw.h