DDSCAPS 구조체(ddraw.h)

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

구문

typedef struct _DDSCAPS {
  DWORD dwCaps;
} DDSCAPS;

멤버

dwCaps

표면의 기능을 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 플래그 중 비트 OR입니다.

플래그 의미

DDSCAPS_3DDEVICE

이 표면은 3D 렌더링에 사용할 수 있습니다. 애플리케이션은 이 플래그를 사용하여 특정 힙에만 렌더링할 수 있는 디바이스에 올바른 힙에서 할당된 오프스크린 표면이 있는지 확인할 수 있습니다. 이 플래그가 힙에 대해 설정된 경우 표면은 해당 힙에서 할당되지 않습니다.

DDSCAPS_ALLOCONLOAD

표면의 메모리는 IDirect3DTexture::Load 메서드를 사용하여 애플리케이션에서 표면을 로드할 때까지 할당되지 않습니다.

DDSCAPS_ALPHA

이 화면에는 알파 정보만 포함됩니다.

DDSCAPS_BACKBUFFER

이 표면은 표면 대칭 이동 구조체의 백 버퍼입니다. 일반적으로 이 기능은 DDSCAPS_FLIP 플래그를 사용할 때 애플리케이션의 CreateSurface 메서드에 의해 설정됩니다. DDSCAPS_FRONTBUFFER 표면 바로 앞에 있는 표면만 이 기능 집합을 가집니다. 다른 표면은 DDSCAPS_FLIP 플래그의 존재, 첨부 파일 순서 및 DDSCAPS_FRONTBUFFER 및 DDSCAPS_BACKBUFFER 기능의 부재로 백 버퍼로 식별됩니다. 이 기능이 애플리케이션의 CreateSurface 메서드로 전송되면 독립 실행형 백 버퍼가 만들어집니다. 이 메서드가 호출된 후 이 표면을 전면 버퍼, 다른 백 버퍼 또는 둘 다에 연결하여 대칭 이동 표면 구조를 형성할 수 있습니다. 자세한 내용은 DirectX SDK의 AddAttachedSurface 메서드를 참조하세요. DirectDraw는 대칭 이동 구조에서 임의의 수의 표면을 지원합니다.

DDSCAPS_COMPLEX

복잡한 표면이 설명되고 있습니다. 복잡한 표면으로 인해 둘 이상의 표면이 생성됩니다. 추가 표면은 루트 표면에 연결됩니다. 복잡한 구조는 루트를 파괴해야만 파괴할 수 있습니다.

DDSCAPS_EXECUTEBUFFER

Surface는 Microsoft Direct3D 표시 목록을 포함하는 시스템 또는 비디오 메모리의 선형 청크인 실행 버퍼입니다. 드라이버는 비디오 메모리에서 실행 버퍼를 만들 수 있음을 나타내기 위해 이 기능 비트를 보고합니다. Direct3D 런타임이 이 비트를 검색하는 경우 드라이버에서 실행 버퍼를 요청할 수 있습니다. 애플리케이션은 이 기능 비트를 검색할 수 없습니다.

DDSCAPS_FLIP

이 표면은 표면 대칭 이동 구조의 일부입니다. 이 기능이 애플리케이션의 CreateSurface 메서드에 전달되면 프런트 버퍼와 하나 이상의 백 버퍼가 만들어집니다. DirectDraw는 전면 버퍼 표면의 DDSCAPS_FRONTBUFFER 비트와 전면 버퍼 표면에 인접한 표면의 DDSCAPS_BACKBUFFER 비트를 설정합니다. 메서드 호출이 성공하려면 DDSURFACEDESC 구조체의 dwBackBufferCount 멤버를 1 이상으로 설정해야 합니다. CreateSurface 메서드를 사용하여 여러 표면을 만들 때 항상 DDSCAPS_COMPLEX 기능을 설정해야 합니다.

DDSCAPS_FRONTBUFFER

이 표면은 표면 대칭 이동 구조의 전면 버퍼입니다. 이 플래그는 일반적으로 DDSCAPS_FLIP 기능이 설정된 경우 애플리케이션의 CreateSurface 메서드에 의해 설정됩니다. 이 기능을 CreateSurface 메서드로 보내면 독립 실행형 프런트 버퍼가 만들어집니다. 이 화면에는 DDSCAPS_FLIP 기능이 없습니다. 애플리케이션의 AddAttachedSurface 메서드를 사용하여 대칭 이동 구조를 형성하기 위해 다른 백 버퍼에 연결할 수 있습니다.

DDSCAPS_HWCODEC

이 표면은 하드웨어에서 스트림의 압축을 풀 수 있어야 합니다.

DDSCAPS_LIVEVIDEO

이 표면은 라이브 비디오를 받을 수 있어야 합니다.

DDSCAPS_LOCALVIDMEM

이 표면은 비로컬 디스플레이 메모리가 아닌 true 로컬 디스플레이 메모리에 있습니다. 이 플래그를 지정하는 경우 DDSCAPS_VIDEOMEMORY 지정해야 합니다. 이 플래그는 DDSCAPS_NONLOCALVIDMEM 플래그와 함께 사용할 수 없습니다.

DDSCAPS_MIPMAP

이 표면은 밉맵의 한 수준입니다. 이 표면은 다른 DDSCAPS_MIPMAP 표면에 부착되어 밉맵을 형성합니다. 이 작업은 여러 표면을 만들고 애플리케이션의 AddAttachedSurface 메서드를 사용하거나 애플리케이션의 CreateSurface 메서드에서 암시적으로 연결하여 명시적으로 수행할 수 있습니다. 이 기능이 설정된 경우 DDSCAPS_TEXTURE 설정해야 합니다.

DDSCAPS_MODEX

이 표면은 320x200 또는 320x240 모드 X 표면입니다. Microsoft Windows 2000 이상 드라이버에서 이 기능 비트를 설정하면 DirectDraw가 비활성화됩니다.

DDSCAPS_NONLOCALVIDMEM

이 표면은 true 로컬 디스플레이 메모리가 아닌 비로컬 디스플레이 메모리에 있습니다. 이 플래그를 지정하면 DDSCAPS_VIDEOMEMORY 플래그도 지정해야 합니다. DDSCAPS_LOCALVIDMEM 플래그와 함께 사용할 수 없습니다.

DDSCAPS_OFFSCREENPLAIN

이 표면은 오버레이, 텍스처, z 버퍼, 프런트 버퍼, 백 버퍼 또는 알파 표면이 아닌 모든 오프스크린 표면입니다. 일반 표면을 식별하는 데 사용됩니다.

DDSCAPS_OVERLAY

이 표면은 오버레이입니다. 이 오버레이의 표시 유형은 현재 기본 표면에 오버레이되는지 여부에 따라 달라집니다. DDSCAPS_VISIBLE 사용하여 현재 오버레이되는지 여부를 확인할 수 있습니다.

DDSCAPS_OPTIMIZED

이 플래그는 현재 구현되지 않습니다.

DDSCAPS_OWNDC

이 표면에는 오랫동안 DC(디바이스 컨텍스트) 연결이 있습니다. Windows 2000 이상 드라이버에서 이 기능 비트를 설정하면 DirectDraw가 비활성화됩니다.

DDSCAPS_PALETTE

이 디바이스 드라이버를 사용하면 고유한 DirectDrawPalette 개체를 만들고 이 표면에 연결할 수 있습니다.

DDSCAPS_PRIMARYSURFACE

이 표면은 기본 표면입니다. 현재 사용자에게 표시되는 내용을 나타냅니다.

DDSCAPS_PRIMARYSURFACELEFT

이 표면은 왼쪽 눈의 기본 표면입니다. 현재 사용자의 왼쪽 눈에 표시되는 내용을 나타냅니다. 이 표면이 만들어지면 DDSCAPS_PRIMARYSURFACE 기능이 있는 표면은 사용자의 오른쪽 눈에서 볼 수 있는 것을 나타냅니다.

DDSCAPS_STANDARDVGAMODE

이 표면은 ModeX 표면이 아닌 표준 VGA 모드 표면입니다. 이 플래그는 DDSCAPS_MODEX 플래그와 함께 사용할 수 없습니다.

DDSCAPS_SYSTEMMEMORY

이 표면 메모리는 시스템 메모리에서 할당되었습니다. 이 기능 비트가 Windows 2000 이상 드라이버에서 설정된 경우 DirectDraw가 비활성화됩니다.

DDSCAPS_TEXTURE

이 표면은 3D 텍스처로 사용할 수 있습니다. 표면이 해당 용도로 사용되고 있는지 여부는 나타내지 않습니다.

DDSCAPS_VIDEOMEMORY

이 표면은 디스플레이 메모리에 있습니다.

DDSCAPS_VIDEOPORT

이 표면은 VPE(비디오 포트 확장) 개체에서 데이터를 수신할 수 있습니다.

DDSCAPS_VISIBLE

이 표면의 변경 내용이 즉시 표시됩니다. 기본 표면뿐만 아니라 텍스처가 텍스처되는 동안 오버레이 및 텍스처 맵에 대해 항상 설정됩니다.

DDSCAPS_WRITEONLY

화면에는 쓰기 액세스만 허용됩니다. 표면에서 읽기 액세스는 GPF(일반 보호 오류)를 생성할 수 있지만 이 표면의 읽기 결과는 의미가 없습니다. 이 기능 비트가 Windows 2000 이상 드라이버에서 설정된 경우 DirectDraw가 비활성화됩니다.

DDSCAPS_ZBUFFER

이 표면은 z-버퍼입니다. 표시되는 픽셀과 가려지는 픽셀을 결정하는 데 사용되는 비트 깊이 정보가 포함되어 있습니다. z 버퍼에는 표시할 수 없는 정보가 포함되어 있습니다.

설명

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

요구 사항

요구 사항
헤더 ddraw.h