다음을 통해 공유


D3DHAL_D3DEXTENDEDCAPS 구조체(d3dhal.h)

D3DHAL_D3DEXTENDEDCAPS 드라이버의 추가 3D 기능을 설명합니다.

구문

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  DWORD    dwMaxTextureRepeat;
  DWORD    dwMaxTextureAspectRatio;
  DWORD    dwMaxAnisotropy;
  D3DVALUE dvGuardBandLeft;
  D3DVALUE dvGuardBandTop;
  D3DVALUE dvGuardBandRight;
  D3DVALUE dvGuardBandBottom;
  D3DVALUE dvExtentsAdjust;
  DWORD    dwStencilCaps;
  DWORD    dwFVFCaps;
  DWORD    dwTextureOpCaps;
  WORD     wMaxTextureBlendStages;
  WORD     wMaxSimultaneousTextures;
  DWORD    dwMaxActiveLights;
  D3DVALUE dvMaxVertexW;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

멤버

dwSize

이 D3DHAL_D3DEXTENDEDCAPS 구조체의 크기(바이트)를 지정합니다.

dwMinTextureWidth

드라이버 또는 디바이스에서 지원하는 최소 텍스처 너비를 픽셀 단위로 지정합니다. 이 멤버는 일반적으로 2의 힘입니다. 이러한 멤버는 애플리케이션에 대한 힌트로 제공되며 필요한 경우 텍스처 크기를 조정하는 것은 애플리케이션의 책임입니다.

dwMaxTextureWidth

드라이버 또는 디바이스에서 지원하는 최대 텍스처 너비를 픽셀 단위로 지정합니다. 이 멤버는 일반적으로 2의 힘입니다. 이러한 멤버는 애플리케이션에 대한 힌트로 제공되며 필요한 경우 텍스처 크기를 조정하는 것은 애플리케이션의 책임입니다.

dwMinTextureHeight

드라이버에서 지원하는 최소 텍스처 높이(픽셀)를 지정합니다. 이 멤버는 일반적으로 2의 힘입니다.

dwMaxTextureHeight

드라이버에서 지원하는 최대 텍스처 높이(픽셀)를 지정합니다. 이 멤버는 일반적으로 2의 힘입니다.

dwMinStippleWidth

드라이버에서 지원하는 최소 스티플 너비(픽셀)를 지정합니다.

dwMaxStippleWidth

드라이버에서 지원하는 최대 스텁 너비를 픽셀 단위로 지정합니다.

dwMinStippleHeight

드라이버에서 지원하는 최소 스텁 높이(픽셀)를 지정합니다.

dwMaxStippleHeight

드라이버에서 지원하는 최대 스티플 높이(픽셀)를 지정합니다.

dwMaxTextureRepeat

사후 텍스처 인덱스의 정수(하위 위반) 비트의 전체 범위를 지정합니다. D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE 비트가 설정된 경우 이 멤버가 텍스처를 래핑할 수 있는 횟수를 지정합니다. D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE 비트가 설정되지 않은 경우 식에서 텍스처를 래핑할 수 있는 시간( dwMaxTextureRepeat * (텍스처 크기))을 지정합니다.

dwMaxTextureAspectRatio

하드웨어에서 지원하는 최대 텍스처 가로 세로 비율을 지정합니다. 이 멤버는 일반적으로 2의 힘입니다. 이 최대 가로 세로 비율은 픽셀 단위의 텍스처 높이를 픽셀 단위로 나눈 값으로 제공되거나 너비를 높이로 나눈 값으로 제공되므로 더 큰 결과를 생성합니다. 예를 들어 너비가 8192픽셀이고 높이가 1픽셀이거나 너비가 8192인 텍스처가 최대 가로 세로 비율 4092만 지원하는 디스플레이 디바이스에서는 유효하지 않습니다. 하드웨어가 가로 세로 비율로 제한되지 않는 경우 dwMaxTextureAspectRatiodwMaxTextureWidthdwMaxTextureHeight보다 큽 수 있습니다.

dwMaxAnisotropy

D3DRENDERSTATE_ANISOTROPY 렌더링 상태의 유효한 최대 값을 지정합니다. 드라이버의 하드웨어가 이방성 필터링을 지원하지 않는 경우 드라이버는 이 멤버를 1로 설정해야 합니다. 이 멤버를 0으로 설정하면 잘못된 값이 표시됩니다.

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

가드 밴드 클립 영역의 화면 공간 좌표(픽셀)를 지정합니다. 이 사각형의 왼쪽 위 모서리에는 좌표(dvGuardBandLeft, dvGuardBandTop)가 있습니다. 왼쪽 아래 모서리에는 좌표(dvGuardBandRight, dvGuardBandBottom)가 있습니다. 이 사각형 내부와 뷰포트 사각형 외부의 좌표는 자동으로 잘립니다.

dvExtentsAdjust

앤티앨리어싱 커널을 수용하도록 익스텐트 사각형을 바깥쪽으로 조정하는 데 필요한 픽셀 수를 지정합니다.

dwStencilCaps

드라이버 또는 디바이스에서 지원하는 스텐실 버퍼 작업을 지정합니다. 다음 표에 표시된 스텐실 버퍼 작업에 대한 자세한 내용은 DirectX SDK 설명서의 D3DSTENCILOP 참조하세요. 스텐실 작업은 세 가지 스텐실 버퍼 작업 렌더링 상태(D3DRENDERSTATE_STENCILFAIL, D3DRENDERSTATE_STENCILPASS 및 D3DRENDERSTATE_STENCILZFAIL)에 모두 유효한 것으로 간주됩니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

스텐실 버퍼 작업
D3DSTENCILCAPS_DECR D3DSTENCILOP_DECR 작업이 지원됩니다.
D3DSTENCILCAPS_DECRSAT D3DSTENCILOP_DECRSAT 작업이 지원됩니다.
D3DSTENCILCAPS_INCR D3DSTENCILOP_INCR 작업이 지원됩니다.
D3DSTENCILCAPS_INCRSAT D3DSTENCILOP_INCRSAT 작업이 지원됩니다.
D3DSTENCILCAPS_INVERT D3DSTENCILOP_INVERT 작업이 지원됩니다.
D3DSTENCILCAPS_KEEP D3DSTENCILOP_KEEP 작업이 지원됩니다.
D3DSTENCILCAPS_REPLACE D3DSTENCILOP_REPLACE 작업이 지원됩니다.
D3DSTENCILCAPS_ZERO D3DSTENCILOP_ZERO 작업이 지원됩니다.

dwFVFCaps

드라이버에서 처리할 수 있는 텍스처 좌표 수를 지정합니다. 이 값은 0부터 8까지의 범위에서 정수일 수 있습니다. 여기서 0은 드라이버가 텍스처 텍스처를 지원하지 않음을 나타내고, 1은 드라이버가 하나의 텍스처 좌표 집합만 처리할 수 있음을 나타내고, 2는 드라이버가 두 개의 텍스처 좌표 집합을 처리할 수 있음을 나타냅니다.

드라이버는 드라이버가 실제로 사용하는 텍스처 좌표 수에 관계없이 꼭짓점 데이터에 있는 모든 텍스처 좌표를 구문 분석할 수 있어야 합니다. 드라이버는 DirectX SDK 설명서에 설명된 D3DTEXTURESTAGESTATETYPE 열거형의 D3DTSS_TEXCOORDINDEX 값과 함께 제공되는 인덱스를 사용하여 렌더링할 때 사용할 텍스처 좌표 집합을 결정해야 합니다.

dwTextureOpCaps

디바이스에서 지원하는 텍스처 작업을 지정합니다. 다음 표에 나열된 텍스처 작업에 대한 설명은 DirectX SDK 설명서의 D3DTEXTUREOP 참조하세요. 이 멤버는 다음 값의 비트 OR일 수 있습니다.

지원되는 텍스처 작업
D3DTEXOPCAPS_ADD D3DTOP_ADD 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_ADDSIGNED D3DTOP_ADDSIGNED 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_ADDSIGNED2X D3DTOP_ADDSIGNED2X 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_ADDSMOOTH D3DTOP_ADDSMOOTH 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BLENDCURRENTALPHA D3DTOP_BLENDCURRENTALPHA 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BLENDDIFFUSEALPHA D3DTOP_BLENDDIFFUSEALPHA 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BLENDFACTORALPHA D3DTOP_BLENDFACTORALPHA 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BLENDTEXTUREALPHA D3DTOP_BLENDTEXTUREALPHA 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM D3DTOP_BLENDTEXTUREALPHAPM 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BUMPENVMAP. D3DTOP_BUMPENVMAP 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE D3DTOP_BUMPENVMAPLUMINANCE 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_DISABLE D3DTOP_DISABLE 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_DOTPRODUCT3 D3DTOP_DOTPRODUCT3 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATE D3DTOP_MODULATE 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATE2X D3DTOP_MODULATE2X 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATE4X D3DTOP_MODULATE4X 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR D3DTOP_MODULATEALPHA_ADDCOLOR 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA D3DTOP_MODULATEALPHA_ADDCOLOR 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR D3DTOP_MODULATEINVALPHA_ADDCOLOR 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA D3DTOP_MODULATEINVCOLOR_ADDALPHA 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_PREMODULATE D3DTOP_PREMODULATE 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_SELECTARG1 D3DTOP_SELECTARG1 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_SELECTARG2 D3DTOP_SELECTARG2 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.
D3DTEXOPCAPS_SUBTRACT D3DTOP_SUBTRACT 텍스처 혼합 작업은 이 디바이스에서 지원됩니다.

wMaxTextureBlendStages

이 디바이스에서 지원하는 최대 텍스처 혼합 단계 수를 지정합니다.

wMaxSimultaneousTextures

이 디바이스의 텍스처 혼합 단계에 동시에 바인딩할 수 있는 최대 텍스처 수를 지정합니다. 즉, wMaxSimultaneousTextureslDirect3DDevice7::SetTexture 메서드를 통해 텍스처에 바인딩할 수 있는 텍스처 단계 수를 지정합니다. 이 메서드에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.

dwMaxActiveLights

이 디바이스에서 지원하는 활성 조명의 최대 수를 지정합니다. 하드웨어 변환 및 조명을 지원하는 드라이버에서만 지정하면 됩니다(따라서 디바이스 대문자로 D3DDEVCAPS_HWTRANSFORMANDLIGHT 지정).

dvMaxVertexW

이 디바이스에서 지원하는 최대 W 범위를 지정합니다. W 버퍼링을 지원하는 드라이버에서만 지정하면 됩니다(따라서 래스터화 대문자로 D3DPRASTERCAPS_WBUFFER 지정). W 깊이 값의 단위는 실행 중인 애플리케이션에 따라 달라집니다. 예를 들어 애플리케이션은 깊이를 미터로 지정할 수 있습니다.

wMaxUserClipPlanes

지원되는 사용자 정의 클립 평면의 최대 수를 지정합니다.

wMaxVertexBlendMatrices

꼭짓점 혼합에 지원되는 월드 행렬 수를 지정합니다.

dwVertexProcessingCaps

드라이버에서 지원하는 꼭짓점 처리 대문자를 지정합니다. 이 멤버는 다음 값 중 비트 OR일 수 있습니다.

의미
D3DVTXPCAPS_DIRECTIONALLIGHTS 디바이스는 방향등을 수행할 수 있습니다.
D3DVTXPCAPS_LOCALVIEWER 디바이스는 로컬 뷰어를 수행할 수 있습니다.
D3DVTXPCAPS_MATERIALSOURCE7 디바이스는 DirectX 7.0 색 재료 소스 작업을 수행할 수 있습니다.
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 디바이스는 비로컬 뷰어 모드에서 텍스처 생성을 지원하지 않습니다.
D3DVTXPCAPS_POSITIONALLIGHTS 디바이스는 위치 표시등(점 및 스폿 포함)을 수행할 수 있습니다.
D3DVTXPCAPS_TEXGEN 디바이스는 texgen을 수행할 수 있습니다.
D3DVTXPCAPS_TEXGEN_SPHEREMAP 디바이스는 D3DTSS_TCI_SPHEREMAP 지원합니다.
D3DVTXPCAPS_TWEENING 디바이스는 꼭짓점 트윈을 수행할 수 있습니다.

dwReserved1

시스템에서 사용하도록 예약되었습니다.

dwReserved2

시스템에서 사용하도록 예약되었습니다.

dwReserved3

시스템에서 사용하도록 예약되었습니다.

dwReserved4

시스템에서 사용하도록 예약되었습니다.

설명

드라이버는 이 구조를 할당하고 0으로 초기화하고 지원하는 멤버에 적절한 값을 설정합니다. 드라이버의 DdGetDriverInfo 함수는 GUID_D3DExtendedCaps GUID를 사용하여 해당 함수를 호출할 때 이 구조체에 대한 포인터를 반환합니다.

드라이버가 이 구조를 채울 때 기능(예: lDirect3DDevice3)을 검색하는 데 사용되는 인터페이스가 실행 버퍼를 지원하지 않는 경우에도 버퍼 실행 기능에 대한 값을 설정할 수 있습니다.

요구 사항

요구 사항
헤더 d3dhal.h(D3dhal.h 포함)

추가 정보

DdGetDriverInfo