D3DCAPS9 구조체(d3d9caps.h)
Direct3D 개체를 통해 노출되는 하드웨어의 기능을 나타냅니다.
구문
typedef struct _D3DCAPS9 {
D3DDEVTYPE DeviceType;
UINT AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
DWORD RasterCaps;
DWORD ZCmpCaps;
DWORD SrcBlendCaps;
DWORD DestBlendCaps;
DWORD AlphaCmpCaps;
DWORD ShadeCaps;
DWORD TextureCaps;
DWORD TextureFilterCaps;
DWORD CubeTextureFilterCaps;
DWORD VolumeTextureFilterCaps;
DWORD TextureAddressCaps;
DWORD VolumeTextureAddressCaps;
DWORD LineCaps;
DWORD MaxTextureWidth;
DWORD MaxTextureHeight;
DWORD MaxVolumeExtent;
DWORD MaxTextureRepeat;
DWORD MaxTextureAspectRatio;
DWORD MaxAnisotropy;
float MaxVertexW;
float GuardBandLeft;
float GuardBandTop;
float GuardBandRight;
float GuardBandBottom;
float ExtentsAdjust;
DWORD StencilCaps;
DWORD FVFCaps;
DWORD TextureOpCaps;
DWORD MaxTextureBlendStages;
DWORD MaxSimultaneousTextures;
DWORD VertexProcessingCaps;
DWORD MaxActiveLights;
DWORD MaxUserClipPlanes;
DWORD MaxVertexBlendMatrices;
DWORD MaxVertexBlendMatrixIndex;
float MaxPointSize;
DWORD MaxPrimitiveCount;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
float PixelShader1xMaxValue;
DWORD DevCaps2;
float MaxNpatchTessellationLevel;
DWORD Reserved5;
UINT MasterAdapterOrdinal;
UINT AdapterOrdinalInGroup;
UINT NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;
멤버
DeviceType
형식: D3DDEVTYPE
꼭짓점 처리에 사용되는 리소스 유형을 식별하는 D3DDEVTYPE 열거형 형식의 멤버입니다.
AdapterOrdinal
형식: UINT
이 Direct3D 디바이스를 만든 어댑터입니다. 이 서수는 이 Direct3D 디바이스를 만든 IDirect3D9 인터페이스의 메서드에만 전달됩니다. GetDirect3D를 호출하여 IDirect3D9 인터페이스를 항상 검색할 수 있습니다.
Caps
형식: DWORD
다음 드라이버 관련 기능입니다.
값 | 의미 | |
---|---|---|
|
디스플레이 하드웨어는 현재 검사 줄을 반환할 수 있습니다. | |
|
디스플레이 드라이버는 오버레이 기능을 검증할 수 있는 오버레이 DDI를 지원합니다. 오버레이 DDI에 대한 자세한 내용은 오버레이 DDI를 참조하세요.
|
Caps2
형식: DWORD
D3DCAPS2에서 식별된 드라이버별 기능입니다.
Caps3
형식: DWORD
D3DCAPS3에서 식별된 드라이버별 기능입니다.
PresentationIntervals
형식: DWORD
사용할 수 있는 프레젠테이션 교환 간격을 나타내는 값의 비트 마스크입니다.
CursorCaps
형식: DWORD
커서에 사용할 수 있는 하드웨어 지원을 나타내는 비트 마스크입니다. Direct3D 9는 알파 혼합 커서 기능을 정의하지 않습니다.
DevCaps
형식: DWORD
디바이스의 기능을 식별하는 플래그입니다.
값 | 의미 |
---|---|
|
디바이스는 시스템 메모리 텍스처에서 비로컬 비디오 메모리 텍스처로의 블릿을 지원합니다. |
|
디바이스는 페이지 대칭 이동 후 렌더링 명령을 큐에 대기할 수 있습니다. 이 플래그가 설정된 경우 애플리케이션은 해당 동작을 변경하지 않습니다. 이 기능은 디바이스가 상대적으로 빠르다는 것을 의미합니다. |
|
디바이스는 DirectX 5 규격 드라이버 이상을 지원할 수 있습니다. |
|
디바이스는 DirectX 7 규격 드라이버 이상을 지원할 수 있습니다. |
|
디바이스는 IDirect3DDevice9::D rawPrimitive-aware hal을 내보냅니다. |
|
디바이스는 시스템 메모리에서 실행 버퍼를 사용할 수 있습니다. |
|
디바이스는 비디오 메모리에서 실행 버퍼를 사용할 수 있습니다. |
|
디바이스에는 장면 래스터화를 위한 하드웨어 가속이 있습니다. |
|
디바이스는 하드웨어에서 변환 및 조명을 지원할 수 있습니다. |
|
디바이스는 N 패치를 지원합니다. |
|
디바이스는 하드웨어에서 래스터화, 변환, 조명 및 음영을 지원할 수 있습니다. |
|
디바이스는 전형적인 베지어 곡선과 B 스플라인을 지원합니다. |
|
디바이스는 사각형 및 삼각형 패치를 지원합니다. |
|
이 디바이스 기능이 설정되면 하드웨어 아키텍처에서 정보를 캐싱할 필요가 없으며 캐시되지 않은 패치(핸들 0)는 캐시된 패치만큼 효율적으로 그려집니다. D3DDEVCAPS_RTPATCHHANDLEZERO 설정한다고 해서 핸들이 0인 패치를 그릴 수 있는 것은 아닙니다. 핸들 0 패치는 이 상한이 설정되었는지 여부에 관계없이 항상 그릴 수 있습니다. |
|
디바이스가 별도의 메모리 풀에서 텍스처링됩니다. |
|
디바이스는 로컬이 아닌 비디오 메모리에서 텍스처를 검색할 수 있습니다. |
|
디바이스는 시스템 메모리에서 텍스처를 검색할 수 있습니다. |
|
디바이스는 디바이스 메모리에서 텍스처를 검색할 수 있습니다. |
|
디바이스는 변환 및 조명 꼭짓점용으로 시스템 메모리의 버퍼를 사용할 수 있습니다. |
|
디바이스는 비디오 메모리의 버퍼를 변환 및 조명 꼭짓점용으로 사용할 수 있습니다. |
PrimitiveMiscCaps
형식: DWORD
기타 드라이버 기본 기능. D3DPMISCCAPS를 참조하세요.
RasterCaps
형식: DWORD
래스터 그리기 기능에 대한 정보입니다. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
디바이스는 이방성 필터링을 지원합니다. |
|
디바이스는 색 원근감이 올바르게 반복됩니다. |
|
디바이스는 디더링하여 색 해상도를 향상시킬 수 있습니다. |
|
디바이스는 레거시 깊이 바이어스를 지원합니다. 진정한 깊이 바이어스는 D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 참조하세요. |
|
디바이스는 범위 기반 안개를 지원합니다. 범위 기반 안개에서 뷰어에서 개체의 거리는 장면의 개체 깊이(즉, z 좌표)가 아닌 안개 효과를 계산하는 데 사용됩니다. |
|
디바이스는 지정된 픽셀의 깊이로 인덱싱된 안개 값이 포함된 조회 테이블을 참조하여 안개 값을 계산합니다. |
|
디바이스는 조명 작업 중에 안개 값을 계산하고 래스터화 중에 안개 값을 보간합니다. |
|
디바이스는 세부 수준 바이어스 조정을 지원합니다. 이러한 바이어스 조정을 통해 애플리케이션은 mipmap을 평소보다 선명하거나 덜 선명하게 표시할 수 있습니다. mipmap의 세부 수준 바이어스에 대한 자세한 내용은 D3DSAMP_MIPMAPLODBIAS 참조하세요. |
|
디바이스는 IDirect3DDevice9::BeginScene 및 IDirect3DDevice9::EndScene(D3DRS_MULTISAMPLEANTIALIAS 사용) 간에 다중 샘플링 설정/해제를 지원합니다. |
|
디바이스는 가위 테스트를 지원합니다. 가위 테스트(Direct3D 9)를 참조하세요. |
|
디바이스는 진정한 기울기 눈금 기반 깊이 바이어스를 수행합니다. 이는 레거시 스타일 깊이 바이어스와는 대조적입니다. |
|
디바이스는 w를 사용하여 깊이 버퍼링을 지원합니다. |
|
디바이스는 w 기반 안개를 지원합니다. 원근 투영 행렬을 지정할 때 W 기반 안개가 사용되지만 아핀 프로젝션은 여전히 z 기반 안개를 사용합니다. 시스템은 [3][4] 요소에 0이 아닌 값을 포함하는 프로젝션 행렬을 원근 투영 행렬로 간주합니다. |
|
디바이스는 애플리케이션에서 다각형을 정렬할 필요 없이 깊이 버퍼를 할당할 필요 없이 HSR(숨겨진 표면 제거)을 수행할 수 있습니다. 이렇게 하면 텍스처에 대한 비디오 메모리가 더 많이 남습니다. HSR을 수행하는 데 사용되는 메서드는 하드웨어에 종속되며 애플리케이션에 투명합니다.
Z 버퍼리스 HSR은 렌더링 대상 표면과 연결된 깊이 버퍼 표면이 없고 깊이 버퍼 비교 테스트가 사용하도록 설정된 경우(즉, D3DRS_ZENABLE 열거형 상수와 연결된 상태 값이 TRUE로 설정된 경우) 수행됩니다. |
|
디바이스는 z 기반 안개를 지원합니다. |
|
디바이스는 z-test 작업을 수행할 수 있습니다. 이렇게 하면 기본 형식이 효과적으로 렌더링되고 z 픽셀이 렌더링되었는지 여부를 나타냅니다. |
ZCmpCaps
형식: DWORD
Z 버퍼 비교 기능. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.
SrcBlendCaps
형식: DWORD
소스 혼합 기능. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다. (원본 및 대상의 RGBA 값은 아래 첨자 및 d로 표시됩니다.)
값 | 의미 | |
---|---|---|
|
드라이버는 D3DBLEND_BLENDFACTOR 및 D3DBLEND_INVBLENDFACTOR 모두 지원합니다. D3DBLEND를 참조하세요. | |
|
소스 혼합 인자 (1 - As, 1 - As, 1 - As, 1 - As) 및 대상 혼합 계수는 (As, As, As, As); 대상 혼합 선택이 재정의됩니다. | |
|
드라이버는 D3DBLEND_BOTHSRCALPHA 혼합 모드를 지원합니다. (이 혼합 모드는 사용되지 않습니다. 자세한 내용은 D3DBLEND를 참조하세요.) | |
|
혼합 계수는 (a d, Ad, Ad, Ad)입니다. | |
|
혼합 계수는 (R d, Gd, Bd, Ad)입니다. | |
|
혼합 계수는 (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad)입니다. | |
|
혼합 계수는 (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad)입니다. | |
|
혼합 계수는 (1 - As, 1 - As, 1 - As, 1 - As)입니다. | |
|
혼합 계수는 (1 - Rs, 1 - Gs, 1 - Bs, 1 - As)입니다. | |
|
혼합 계수는 (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, 사용되지 않음)입니다. 렌더링 대상 혼합을 참조하세요.
|
|
|
혼합 계수는 (1, 1, 1, 1)입니다. | |
|
Blend 요소는 (As, As, As, As)입니다. | |
|
혼합 계수는 (f, f, f, 1); f = min(As, 1 - Ad). | |
|
혼합 요소는 (Rs, Gs, Bs, As)입니다. | |
|
Blend 요소는 (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, 사용되지 않음)입니다. 렌더링 대상 혼합을 참조하세요.
|
|
|
혼합 계수는 (0, 0, 0, 0)입니다. |
DestBlendCaps
형식: DWORD
대상 혼합 기능. 이 멤버는 SrcBlendCaps 멤버에 대해 정의된 것과 동일한 기능일 수 있습니다.
AlphaCmpCaps
형식: DWORD
알파 테스트 비교 기능. 이 멤버는 ZCmpCaps 멤버에 대해 정의된 것과 동일한 기능 플래그를 포함할 수 있습니다. 이 멤버에 D3DPCMPCAPS_ALWAYS 기능만 포함되거나 D3DPCMPCAPS_NEVER 기능만 포함된 경우 드라이버는 알파 테스트를 지원하지 않습니다. 그렇지 않으면 플래그는 알파 테스트에 지원되는 개별 비교를 식별합니다.
ShadeCaps
형식: DWORD
음영 작업 기능. 일반적으로 디바이스가 지정된 명령을 전혀 지원하는 경우 D3DSHADEMODE 열거형 형식에 지정된 대로 D3DSHADE_FLAT 모드를 지원한다고 가정합니다. 이 플래그는 드라이버가 Gouraud 음영을 지원할 수 있는지 여부와 알파 색 구성 요소가 지원되는지 여부를 지정합니다. 알파 구성 요소가 지원되지 않는 경우 생성된 색의 알파 값은 암시적으로 255입니다. 가능한 최대 알파(즉, 알파 구성 요소가 전체 강도임)입니다.
삼각형의 색, 반사 하이라이트, 안개 및 알파 보간에는 각각 애플리케이션이 디바이스 드라이버에서 구현하는 방법을 확인하는 데 사용할 수 있는 기능 플래그가 있습니다.
이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.
TextureCaps
형식: DWORD
기타 텍스처 매핑 기능. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
텍스처 픽셀의 알파가 지원됩니다. |
|
디바이스는 텍스처 팔레트에서 알파를 그릴 수 있습니다. |
|
큐브 텍스처를 지원합니다. |
|
디바이스를 사용하려면 큐브 텍스처 맵에 2의 전원으로 지정된 차원이 있어야 합니다. |
|
디바이스는 mipmapped 큐브 텍스처를 지원합니다. |
|
디바이스는 mipmapped 텍스처를 지원합니다. |
|
디바이스는 mipmapped 볼륨 텍스처를 지원합니다. |
|
또한 설정되는 D3DPTEXTURECAPS_POW2 조건부로 2차원이 아닌 차원의 2D 텍스처 사용을 지원합니다. 이 기능을 노출하는 디바이스는 다음 요구 사항이 모두 충족되는 경우 이러한 텍스처를 사용할 수 있습니다.
이 플래그가 설정되지 않고 D3DPTEXTURECAPS_POW2 설정되지 않은 경우 2D 텍스처에 대해 2의 전원이 아닌 차원에 대한 무조건적인 지원이 제공됩니다. 2의 전원이 아닌 텍스처는 셰이더 계산(예: bem - ps 및 texm3x3 - 픽셀 셰이더 버전 1_0~1_3의 ps 명령)을 기반으로 읽을 단계에서 설정할 수 없습니다. 예를 들어 이러한 텍스처는 텍스처 읽기에 공급될 범프를 저장하는 데 사용할 수 있지만 texbem에서 사용되는 환경 맵 (ps, texbeml - ps 및 texm3x3spec - ps)은 저장할 수 없습니다. 즉, 2의 전원이 아닌 차원이 있는 텍스처는 셰이더 내에서 계산된 텍스처 좌표를 사용하여 처리하거나 샘플링할 수 없습니다. 이 유형의 작업을 종속 읽기라고 하며 이러한 유형의 텍스처에서 수행할 수 없습니다. |
|
디바이스는 프로그래밍 가능 및 고정 함수 셰이더에서 프로젝트된 범프 환경 조회 작업을 지원하지 않습니다. |
|
원근 보정 텍스처가 지원됩니다. |
|
D3DPTEXTURECAPS_NONPOW2CONDITIONAL 설정되지 않은 경우 모든 텍스처의 너비와 높이가 2의 전원으로 지정되어야 합니다. 이 요구 사항은 큐브 텍스처 또는 볼륨 텍스처에는 적용되지 않습니다.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL 설정되면 조건부로 2의 전원이 아닌 차원의 2D 텍스처 사용을 지원합니다. D3DPTEXTURECAPS_NONPOW2CONDITIONAL 설명을 참조하세요. 이 플래그가 설정되지 않고 D3DPTEXTURECAPS_NONPOW2CONDITIONAL 설정되지 않은 경우 2D 텍스처에 대해 2의 전원이 아닌 차원에 대한 무조건적인 지원이 제공됩니다. |
|
D3DTTFF_PROJECTED 텍스처 변환 플래그를 지원합니다. 적용하면 디바이스는 변환된 텍스처 좌표를 마지막 텍스처 좌표로 나눕니다. 이 기능이 있는 경우 픽셀당 투영 분할이 발생합니다. 이 기능이 없지만 프로젝션 분할이 어쨌든 발생해야 하는 경우 Direct3D 런타임에 의해 꼭짓점 단위로 수행됩니다. |
|
모든 텍스처는 정사각형이어야 합니다. |
|
텍스처 인덱스는 보간 전에 텍스처 크기로 조정되지 않습니다. |
|
디바이스는 볼륨 텍스처를 지원합니다. |
|
디바이스를 사용하려면 볼륨 텍스처 맵에 2의 전원으로 지정된 차원이 있어야 합니다. |
TextureFilterCaps
형식: DWORD
텍스처에 대한 텍스처 필터링 기능입니다. 단계별 필터링 기능은 여러 텍스처 혼합을 수행할 때 텍스처 스테이지에서 지원되는 필터링 모드를 반영합니다. 이 멤버는 D3DPTFILTERCAPS에 정의된 단계별 텍스처 필터링 플래그의 조합일 수 있습니다.
CubeTextureFilterCaps
형식: DWORD
큐브 텍스처에 대한 텍스처 필터링 기능입니다. 단계별 필터링 기능은 여러 텍스처 혼합을 수행할 때 텍스처 스테이지에서 지원되는 필터링 모드를 반영합니다. 이 멤버는 D3DPTFILTERCAPS에 정의된 단계별 텍스처 필터링 플래그의 조합일 수 있습니다.
VolumeTextureFilterCaps
형식: DWORD
볼륨 텍스처에 대한 텍스처 필터링 기능입니다. 단계별 필터링 기능은 여러 텍스처 혼합을 수행할 때 텍스처 스테이지에서 지원되는 필터링 모드를 반영합니다. 이 멤버는 D3DPTFILTERCAPS에 정의된 단계별 텍스처 필터링 플래그의 조합일 수 있습니다.
TextureAddressCaps
형식: DWORD
텍스처 개체에 대한 텍스처 주소 지정 기능입니다. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.
VolumeTextureAddressCaps
형식: DWORD
볼륨 텍스처에 대한 텍스처 주소 지정 기능입니다. 이 멤버는 TextureAddressCaps 멤버에 대해 정의된 플래그 중 하나 이상일 수 있습니다.
LineCaps
형식: DWORD
선 그리기 기본 형식의 기능을 정의합니다.
MaxTextureWidth
형식: DWORD
이 디바이스의 최대 텍스처 너비입니다.
MaxTextureHeight
형식: DWORD
이 디바이스의 최대 텍스처 높이입니다.
MaxVolumeExtent
형식: DWORD
볼륨 텍스처의 3차원(너비, 높이 및 깊이)에 대한 최대값입니다.
MaxTextureRepeat
형식: DWORD
이 숫자는 정규화된 후 텍스처 좌표의 정수 비트의 최대 범위를 나타냅니다. 텍스처 좌표는 27비트를 사용하여 부호 있는 32비트 정수로 저장되고 부동 소수점 분수의 경우 5비트를 저장합니다. 최대 정수 인덱스인 2²는 하드웨어가 텍스처 좌표 크기 조정을 수행하는 방법에 따라 최대 텍스처 좌표를 결정하는 데 사용됩니다.
일부 하드웨어는 한도 D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 보고합니다. 이 경우 디바이스는 보간 및 텍스처 주소 모드 적용 후 MaxTextureRepeat의 정수 값으로 텍스처를 래핑할 수 있는 횟수까지 텍스처 크기에 따라 텍스처 좌표 크기 조정을 연기합니다.
일부 하드웨어 D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 설정되지 않고 디바이스는 보간 전에 텍스처 크기(가장 높은 수준의 세부 정보 사용)를 기준으로 텍스처 좌표를 조정합니다. 이렇게 하면 텍스처를 MaxTextureRepeat/텍스처 크기로 래핑할 수 있는 횟수가 제한됩니다.
예를 들어 MaxTextureRepeat이 32k이고 텍스처의 크기가 4k라고 가정합니다. 하드웨어가 D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 설정하는 경우 텍스처를 래핑할 수 있는 횟수는 이 예제에서 32k인 MaxTextureRepeat과 같습니다. 그렇지 않으면 텍스처를 래핑할 수 있는 횟수가 텍스처 크기로 나눈 MaxTextureRepeat과 같으며, 이 예제에서는 32k/4k입니다.
MaxTextureAspectRatio
형식: DWORD
하드웨어에서 지원하는 최대 텍스처 가로 세로 비율(일반적으로 2의 힘)입니다.
MaxAnisotropy
형식: DWORD
D3DSAMP_MAXANISOTROPY 텍스처 단계 상태의 최대 유효한 값입니다.
MaxVertexW
형식: float
디바이스에서 지원하는 최대 W 기반 깊이 값입니다.
GuardBandLeft
형식: float
가드 밴드 클리핑 영역의 화면 공간 좌표입니다. 이 사각형 내부와 뷰포트 사각형 외부의 좌표는 자동으로 잘립니다.
GuardBandTop
형식: float
가드 밴드 클리핑 영역의 화면 공간 좌표입니다. 이 사각형 내부와 뷰포트 사각형 외부의 좌표는 자동으로 잘립니다.
GuardBandRight
형식: float
가드 밴드 클리핑 영역의 화면 공간 좌표입니다. 이 사각형 내부와 뷰포트 사각형 외부의 좌표는 자동으로 잘립니다.
GuardBandBottom
형식: float
가드 밴드 클리핑 영역의 화면 공간 좌표입니다. 이 사각형 내부와 뷰포트 사각형 외부의 좌표는 자동으로 잘립니다.
ExtentsAdjust
형식: float
앤티앨리어싱 커널을 수용하도록 익스텐트 사각형을 바깥쪽으로 조정하는 픽셀 수입니다.
StencilCaps
형식: DWORD
지원되는 스텐실 버퍼 작업을 지정하는 플래그입니다. 스텐실 작업은 세 개의 스텐실 버퍼 작업 렌더링 상태(D3DRS_STENCILFAIL, D3DRS_STENCILPASS 및 D3DRS_STENCILZFAIL)에 모두 유효한 것으로 간주됩니다.
자세한 내용은 D3DSTENCILCAPS를 참조하세요.
FVFCaps
형식: DWORD
유연한 꼭짓점 형식 기능.
TextureOpCaps
형식: DWORD
이 디바이스에서 지원하는 텍스처 작업을 설명하는 플래그의 조합입니다. 다음 플래그가 정의됩니다.
MaxTextureBlendStages
형식: DWORD
고정 함수 파이프라인에서 지원되는 최대 텍스처 혼합 단계 수입니다. 이 값은 사용 가능한 블렌더 수입니다. 프로그래밍 가능한 픽셀 파이프라인에서 이는 픽셀 셰이더 명령에서 사용하는 고유한 텍스처 레지스터 수에 해당합니다.
MaxSimultaneousTextures
형식: DWORD
고정 함수 파이프라인 샘플러 단계에 동시에 바인딩할 수 있는 최대 텍스처 수입니다. 동일한 텍스처가 두 샘플러 단계에 바인딩된 경우 두 개의 텍스처로 계산됩니다.
이 값은 샘플러 단계 수가 각 픽셀 셰이더 버전에 의해 결정되는 프로그래밍 가능한 파이프라인에서 의미가 없습니다. 각 픽셀 셰이더 버전도 텍스처 선언 명령의 수를 결정합니다. 픽셀 셰이더를 참조하세요.
VertexProcessingCaps
형식: DWORD
꼭짓점 처리 기능. 지정된 물리적 디바이스의 경우 이 기능은 CreateDevice에 제공된 매개 변수에 따라 Direct3D 디바이스에 따라 달라질 수 있습니다. D3DVTXPCAPS를 참조하세요.
MaxActiveLights
형식: DWORD
동시에 활성화할 수 있는 최대 조명 수입니다. 지정된 물리적 디바이스의 경우 이 기능은 CreateDevice에 제공된 매개 변수에 따라 Direct3D 디바이스에 따라 달라질 수 있습니다.
MaxUserClipPlanes
형식: DWORD
지원되는 사용자 정의 클리핑 평면의 최대 수입니다. 이 멤버는 0일 수 있습니다. 지정된 물리적 디바이스의 경우 이 기능은 CreateDevice에 제공된 매개 변수에 따라 Direct3D 디바이스에 따라 달라질 수 있습니다.
MaxVertexBlendMatrices
형식: DWORD
다중 매트릭스 꼭짓점 혼합을 수행할 때 이 디바이스가 적용할 수 있는 최대 행렬 수입니다. 지정된 물리적 디바이스의 경우 이 기능은 CreateDevice에 제공된 매개 변수에 따라 Direct3D 디바이스에 따라 달라질 수 있습니다.
MaxVertexBlendMatrixIndex
형식: DWORD
꼭짓점별 인덱스를 사용하여 인덱싱할 수 있는 최대 행렬 인덱스를 지정하는 DWORD 값입니다. 행렬 수는 행렬 팔레트의 크기인 MaxVertexBlendMatrixIndex + 1입니다. 조명을 위해 혼합해야 하는 꼭짓점 데이터에 법선이 있는 경우 행렬 수는 이 기능 플래그에 지정된 수의 절반입니다. MaxVertexBlendMatrixIndex가 0으로 설정된 경우 드라이버는 인덱싱된 꼭짓점 혼합을 지원하지 않습니다. 이 값이 0이 아닌 경우 유효한 인덱스 범위는 MaxVertexBlendMatrixIndex를 통해 0입니다.
MaxVertexBlendMatrixIndex에 대한 0 값은 드라이버가 인덱싱된 행렬을 지원하지 않음을 나타냅니다.
소프트웨어 꼭짓점 처리를 사용하는 경우 일반 혼합을 사용하거나 사용하지 않고 인덱싱된 꼭짓점 혼합에 256개의 매트릭스를 사용할 수 있습니다.
지정된 물리적 디바이스의 경우 이 기능은 CreateDevice에 제공된 매개 변수에 따라 Direct3D 디바이스에 따라 달라질 수 있습니다.
MaxPointSize
형식: float
포인트 기본형의 최대 크기입니다. 1.0f로 설정된 경우 디바이스는 지점 크기 제어를 지원하지 않습니다. 범위가 1.0f보다 크거나 같습니다.
MaxPrimitiveCount
형식: DWORD
각 DrawPrimitive 호출에 대한 최대 기본 형식 수입니다. 다음 두 가지 경우가 있습니다.
- MaxPrimitiveCount가 0xffff 같지 않은 경우 각 그리기 호출을 사용하여 최대 MaxPrimitiveCount 기본 형식을 그릴 수 있습니다.
- 그러나 MaxPrimitiveCount가 0xffff 같으면 최대 MaxPrimitiveCount 기본 형식으로 그릴 수 있지만 MaxPrimitiveCount 고유 꼭짓점보다 더 이상 사용하지 않을 수도 있습니다(각 기본 형식은 잠재적으로 세 가지 꼭짓점을 사용할 수 있기 때문에).
MaxVertexIndex
형식: DWORD
하드웨어 꼭짓점 처리에 지원되는 인덱스의 최대 크기입니다. 32비트 인덱스 버퍼를 만들 수 있습니다. 그러나 이 값이 0x0000FFFF 초과하지 않으면 인덱스 버퍼를 사용하여 렌더링할 수 없습니다.
MaxStreams
형식: DWORD
SetStreamSource에 대한 최대 동시 데이터 스트림 수입니다. 유효한 범위는 1에서 16까지입니다. 이 값이 0이면 드라이버는 Direct3D 9 드라이버가 아닙니다.
MaxStreamStride
형식: DWORD
SetStreamSource의 최대 보폭입니다.
VertexShaderVersion
형식: DWORD
꼭짓점 셰이더 기본 및 하위 버전을 나타내는 두 숫자입니다. 각 꼭짓점 셰이더 버전에 지원되는 지침에 대한 자세한 내용은 버전 1_x, 버전 2_0, 버전 2_0 확장 또는 버전 3_0을 참조하세요.
MaxVertexShaderConst
형식: DWORD
상수용으로 예약된 꼭짓점 셰이더 꼭짓점 셰이더 레지스터 의 수입니다.
PixelShaderVersion
형식: DWORD
픽셀 셰이더 기본 및 하위 버전을 나타내는 두 개의 숫자입니다. 각 픽셀 셰이더 버전에 지원되는 지침에 대한 자세한 내용은 버전 1_x, 버전 2_0, 버전 2_0 확장 또는 버전 3_0을 참조하세요.
PixelShader1xMaxValue
형식: float
픽셀 셰이더 산술 구성 요소의 최대값입니다. 이 값은 픽셀 색 혼합 작업에 지원되는 값의 내부 범위를 나타냅니다. 보고하는 범위 내에서 구현은 데이터가 수정되지 않은(래프되지 않은) 픽셀 처리를 통과하도록 허용해야 합니다. 일반적으로 이 멤버의 값은 절대값입니다. 예를 들어 1.0은 범위가 -1.0~1임을 나타내고, 8.0은 범위가 -8.0~8.0임을 나타냅니다. 픽셀 셰이더를 지원하는 하드웨어의 경우 값은 = 1.0이어야 >합니다.
DevCaps2
형식: DWORD
적응형 테셀레이션을 위한 디바이스 드라이버 기능. 자세한 내용은 D3DDEVCAPS2를 참조하세요.
MaxNpatchTessellationLevel
TBD
Reserved5
TBD
MasterAdapterOrdinal
형식: UINT
이 숫자는 이 하위 master 디바이스를 나타냅니다. 이 숫자는 어댑터 값과 동일한 공간에서 가져옵니다.
다중 헤드 지원의 경우 한 머리에 master 헤드가 표시되고 동일한 카드 다른 모든 헤드는 종속 헤드로 표시됩니다. 시스템에 다중 헤드 어댑터가 두 개 이상 있는 경우 하나의 멀티헤드 어댑터에서 master 하위 어댑터를 그룹이라고 합니다.
AdapterOrdinalInGroup
형식: UINT
이 숫자는 API에서 헤드를 참조하는 순서를 나타냅니다. master 어댑터의 값은 항상 0입니다. 이러한 값은 어댑터 서수에 해당하지 않습니다. 그룹 내의 헤드에만 적용합니다.
NumberOfAdaptersInGroup
형식: UINT
이 어댑터 그룹의 어댑터 수입니다(master 경우에만). 기존 어댑터의 경우 1이 됩니다. 다중 헤드 카드 master 어댑터의 값이 1보다 큽니다. 다중 헤드 카드 하위 어댑터의 경우 값은 0입니다. 각 카드 최대 하나의 master 가질 수 있지만 많은 부하가 있을 수 있습니다.
DeclTypes
형식: DWORD
꼭짓점 선언에 포함된 하나 이상의 데이터 형식 조합입니다. D3DDTCAPS를 참조하세요.
NumSimultaneousRTs
형식: DWORD
동시 렌더링 대상 수입니다. 이 숫자는 하나 이상이어야 합니다.
StretchRectFilterCaps
형식: DWORD
StretchRect에서 지원하는 작업을 설명하는 상수의 조합입니다. 이 필드에 설정할 수 있는 플래그는 다음과 같습니다.
상수 | Description |
---|---|
D3DPTFILTERCAPS_MINFPOINT | 디바이스는 사각형을 축소하기 위한 지점 샘플 필터링을 지원합니다. 이 필터 형식은 D3DTEXF_POINT 사용하여 StretchRect 를 호출하여 요청됩니다. |
D3DPTFILTERCAPS_MAGFPOINT | 디바이스는 돋보기 직사각형에 대한 지점 샘플 필터링을 지원합니다. 이 필터 형식은 D3DTEXF_POINT 사용하여 StretchRect 를 호출하여 요청됩니다. |
D3DPTFILTERCAPS_MINFLINEAR | 디바이스는 사각형을 축소하기 위한 쌍선형 보간 필터링을 지원합니다. 이 필터 형식은 D3DTEXF_LINEAR 사용하여 StretchRect 를 호출하여 요청됩니다. |
D3DPTFILTERCAPS_MAGFLINEAR | 디바이스는 돋보기 사각형에 대한 쌍선형 보간 필터링을 지원합니다. 이 필터 형식은 D3DTEXF_LINEAR 사용하여 StretchRect 를 호출하여 요청됩니다. |
자세한 내용은 D3DTEXTUREFILTERTYPE 및 D3DTEXTUREFILTERTYPE을 참조하세요.
VS20Caps
디바이스는 꼭짓점 셰이더 버전 2_0 확장 기능을 지원합니다. D3DVSHADERCAPS2_0 참조하세요.
PS20Caps
디바이스는 픽셀 셰이더 버전 2_0 확장 기능을 지원합니다. D3DPSHADERCAPS2_0 참조하세요.
VertexTextureFilterCaps
형식: DWORD
디바이스는 꼭짓점 셰이더 텍스처 필터 기능을 지원합니다. D3DPTFILTERCAPS를 참조하세요.
MaxVShaderInstructionsExecuted
형식: DWORD
흐름 제어를 사용할 때 실행할 수 있는 꼭짓점 셰이더 명령의 최대 수입니다. 프로그래밍할 수 있는 최대 명령 수는 MaxVertexShader30InstructionSlots입니다.
MaxPShaderInstructionsExecuted
형식: DWORD
흐름 제어를 사용할 때 실행할 수 있는 최대 픽셀 셰이더 명령 수입니다. 프로그래밍할 수 있는 최대 명령 수는 MaxPixelShader30InstructionSlots입니다.
MaxVertexShader30InstructionSlots
형식: DWORD
지원되는 꼭짓점 셰이더 명령 슬롯의 최대 수입니다. 이 상한에 설정할 수 있는 최대값은 32768입니다. vs_3_0 지원하는 디바이스는 최소 512개의 명령 슬롯을 지원해야 합니다.
MaxPixelShader30InstructionSlots
형식: DWORD
지원되는 최대 픽셀 셰이더 명령 슬롯 수입니다. 이 상한에 설정할 수 있는 최대값은 32768입니다. ps_3_0 지원하는 디바이스는 최소 512개의 명령 슬롯을 지원해야 합니다.
설명
MaxTextureBlendStages 및 MaxSimultaneousTextures 멤버는 비슷하게 보일 수 있지만 서로 다른 정보를 포함합니다. MaxTextureBlendStages 멤버에는 현재 디바이스에서 지원하는 총 텍스처 혼합 단계 수가 포함되며, MaxSimultaneousTextures 멤버는 SetTexture 메서드를 사용하여 해당 스테이지에 바인딩된 텍스처 수를 설명합니다.
드라이버가 이 구조를 채울 때 기능(예: IDirect3DDevice9)을 검색하는 데 사용되는 인터페이스가 실행 버퍼를 지원하지 않는 경우에도 실행 버퍼 기능에 대한 값을 설정할 수 있습니다.
일반적으로 텍스처를 사용한 다음 장면 중에 수정하는 경우 성능 문제가 발생할 수 있습니다. 반드시 필요한 경우가 아니면 현재 BeginScene 및 EndScene 블록에 사용된 텍스처가 제거되지 않도록 합니다. 장면 내에서 텍스처 사용량이 매우 높은 경우 결과는 정의되지 않습니다. 이는 장면에서 사용한 텍스처를 수정하고 사용 가능한 예비 텍스처 메모리가 없는 경우에 발생합니다. 이러한 시스템의 경우 EndScene에서 z 버퍼의 내용이 유효하지 않습니다. 애플리케이션은 BeginScene/EndScene 쌍 내에서 이러한 유형의 하드웨어에 대한 백 버퍼에서 UpdateSurface 를 호출해서는 안 됩니다. 또한 애플리케이션은 D3DPRASTERCAPS_ZBUFFERLESSHSR 기능 플래그가 설정된 경우 z 버퍼에 액세스하려고 시도해서는 안 됩니다. 마지막으로 애플리케이션은 BeginScene/EndScene 쌍 내에서 백 버퍼 또는 z-버퍼를 잠그지 않아야 합니다.
Mipmapped 텍스처와 관련된 다음 플래그는 Direct3D 9에서 지원되지 않습니다.
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_LINEARMIPLINEAR
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_NEAREST
요구 사항
머리글 | d3d9caps.h |