DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DCAPS9   [목차열람] [주소복사] [슬롯비우기]
D3DCAPS9 구조체
 
Microsoft DirectX 9.0

D3DCAPS9 구조체


Microsoft® 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 MaxNpatchTesselationLevel;
    float MinAntialiasedLineWidth;
    float MaxAntialiasedLineWidth;
    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;
    DWORD Reserved2;
    DWORD Reserved3;
} D3DCAPS9;

멤버

DeviceType
D3DDEVTYPE 열거형의 멤버이며, 정점의 처리에 사용되는 리소스의 타입을 나타낸다.
AdapterOrdinal
이 Direct3DDevice 개체가 생성 된 어댑터. 이 서수는, 이 Direct3DDevice 개체를 생성 한 IDirect3D9 인터페이스의 메서드에 건네주는 경우에만 유효하다. IDirect3D9 인터페이스는, 항상,IDirect3DDevice9::GetDirect3D 를 호출하는 것으로 취득할 수 있다.
Caps

이하에, 드라이버 고유의 능력을 나타낸다.

D3DCAPS_READ_SCANLINE
디스플레이 하드웨어가, 현재의 주사선을 돌려줄 수 있는 것을 나타낸다.
Caps2

D3DCAPS2 로 지정된 드라이버 고유의 능력.

Caps3

D3DCAPS3 로 지정된 드라이버 고유의 능력.

PresentationIntervals

이용 가능한 프레젠테이션 스왑 간격을 나타내는 값의 비트 마스크.

D3DPRESENT_INTERVAL_IMMEDIATE
드라이버는, 즉시 프레젠테이션 스왑 간격을 지원 하고 있다.
D3DPRESENT_INTERVAL_ONE
드라이버는, 스크린 리프레쉬의 프레젠테이션 스왑 간격을 지원 하고 있다.
D3DPRESENT_INTERVAL_TWO
드라이버는, 2 번째의 스크린 리프레쉬의 프레젠테이션 스왑 간격을 지원 하고 있다.
D3DPRESENT_INTERVAL_THREE
드라이버는, 3 번째의 스크린 리프레쉬의 프레젠테이션 스왑 간격을 지원 하고 있다.
D3DPRESENT_INTERVAL_FOUR
드라이버는, 4 번째의 스크린 리프레쉬의 프레젠테이션 스왑 간격을 지원 하고 있다.
CursorCaps

커서에 대해서 이용 가능한 하드웨어 지원을 나타내는 비트 마스크. Microsoft DirectX® 9.0 에서는, 알파 혼합 커서의 능력은 정의되지 않다.

D3DCURSORCAPS_COLOR
하드웨어는, 풀 컬러 커서를 지원 하고 있다. 구체적으로는, 이 플래그는, 드라이버가 고해상도 모드 (주사선이 400 이상)로, 적어도 하드웨어 컬러 커서를 지원 하고 있는 것을 나타낸다.
D3DCURSORCAPS_LOWRES
하드웨어는, 풀 컬러 커서를 지원 하고 있다. 구체적으로는, 이 플래그는, 드라이버가 고해상도 모드와 저해상도 모드 (주사선이 400 미만)의 양쪽 모두로, 하드웨어 컬러 커서를 지원 하고 있는 것을 나타낸다.
DevCaps

장치의 능력을 나타내는 플래그.

D3DDEVCAPS_CANBLTSYSTONONLOCAL
장치는, 시스템 메모리 텍스처로부터 비로컬 비디오 메모리 텍스처에의 블리트를 지원 한다.
D3DDEVCAPS_CANRENDERAFTERFLIP
장치는, 페이지 플립의 다음에, 렌더링 커멘드를 큐에 넣을 수가 있다. 이 플래그는 애플리케이션의 동작을 바꾸는 것은 아니다. 장치가 비교적 고속으로 있는 것을 나타내고 있는 것만으로 있다.
D3DDEVCAPS_DRAWPRIMITIVES2
장치는 DrawPrimitives2 을 지원 할 수 있다.
D3DDEVCAPS_DRAWPRIMITIVES2EX
장치는 확장 DrawPrimitives2 를 지원 할 수 있다. 이것은, DirectX 7.0 준거의 드라이버이다.
D3DDEVCAPS_DRAWPRIMTLVERTEX
장치는,DrawPrimitive 대응의 하드웨어 추상 계층 (HAL)을 export 한다.
D3DDEVCAPS_EXECUTESYSTEMMEMORY
장치는, 시스템 메모리에 있는 실행 버퍼를 사용할 수 있다.
D3DDEVCAPS_EXECUTEVIDEOMEMORY
장치는, 비디오 메모리에 있는 실행 버퍼를 사용할 수 있다.
D3DDEVCAPS_HWRASTERIZATION
장치에는, 장면(scene)의 래스터화용의 하드웨어 가속화가 있다.
D3DDEVCAPS_HWTRANSFORMANDLIGHT
장치는, 하드웨어로 변환 & 조명을 지원 할 수 있다.
D3DDEVCAPS_NPATCHES
장치는, N 패치를 지원 한다.
D3DDEVCAPS_PUREDEVICE
장치는, 하드웨어로 래스터화, 변환, 조명, 및 쉐이딩을 지원 할 수 있다.
D3DDEVCAPS_QUINTICRTPATCHES
장치는, 5 차 베지에곡선 및 B 스플라인을 지원 하고 있다.
D3DDEVCAPS_RTPATCHES
장치는, 직사각형 및 삼각형 패치를 지원 하고 있다.
D3DDEVCAPS_RTPATCHHANDLEZERO
이 장치 능력이 설정되어 있는 경우, 하드웨어 아키텍처로 정보를 캐쉬할 필요가 없고, 캐쉬되지 않은 패치 (핸들 0)는, 캐쉬된 패치와 같이, 효율적으로 드로잉(Drawing) 된다. D3DDEVCAPS_RTPATCHHANDLEZERO 의 설정은 핸들 0 의 패치를 드로잉(Drawing) 할 수 있는 것을 의미하는 것은 아닌 것에 주의 해야 한다. 핸들 0 의 패치는, 이 능력이 설정되어 있는지에 관계없이, 항상 드로잉(Drawing) 할 수 있다.
D3DDEVCAPS_SEPARATETEXTUREMEMORIES
장치는, 독립한 메모리 풀로부터 텍스처 처리를 실시하고 있다.
D3DDEVCAPS_TEXTURENONLOCALVIDMEM
장치는, 비로컬 비디오 메모리로부터 텍스처를 취득할 수 있다.
D3DDEVCAPS_TEXTURESYSTEMMEMORY
장치는, 시스템 메모리로부터 텍스처를 취득할 수 있다.
D3DDEVCAPS_TEXTUREVIDEOMEMORY
장치는, 장치 메모리로부터 텍스처를 취득할 수 있다.
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
장치는, 변환이 끝난 조명 끝난 정점용으로, 시스템 메모리의 버퍼를 사용할 수 있다.
D3DDEVCAPS_TLVERTEXVIDEOMEMORY
장치는, 변환이 끝난 조명 끝난 정점용으로, 비디오 메모리의 버퍼를 사용할 수 있다.
PrimitiveMiscCaps

그 외의 드라이버의 기본도형의 능력. 「D3DPMISCCAPS 」를 참조할것.

RasterCaps

래스터 드로잉(Drawing) 능력의 정보. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DPRASTERCAPS_ANISOTROPY
장치는, 비등방성 필터링을 지원 한다.
D3DPRASTERCAPS_COLORPERSPECTIVE
장치는, 색의 퍼스펙티브를 올바르게 보간 한다.
D3DPRASTERCAPS_DITHER
장치는, 디더 링을 사용해 양질인 색을 재현 할 수 있다.
D3DPRASTERCAPS_DEPTHBIAS
장치는 이전의 깊이 바이어스를 지원 한다. 진정한 깊이 바이어스에 대해서는, 「D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS」를 참조할것.
D3DPRASTERCAPS_FOGRANGE
장치는, 범위 베이스의 포그(안개:fog)을 지원 한다. 범위 베이스의 포그(안개:fog)에서는, 장면(scene)에 있어서의 개체의 깊이 (z 좌표)는 아니고, 시점으로부터 개체에의 거리로 포그(안개:fog) 이펙트를 계산한다.
D3DPRASTERCAPS_FOGTABLE
장치는, 픽셀의 깊이를 가리키는 포그(안개:fog)값을 포함한 참조 테이블과 조합해, 포그(안개:fog)값을 산출한다.
D3DPRASTERCAPS_FOGVERTEX
장치는, 조명 처리 시에 포그(안개:fog)값을 계산해, 래스터화 시에 포그(안개:fog)값을 보간 한다.
D3DPRASTERCAPS_MIPMAPLODBIAS
장치는, 상세 레벨 (LOD) 바이어스 조정을 지원 한다. 이러한 바이어스 조정에 의해, 밉맵을 보통보다 깨끗이와 또는 그다지 날카롭지 않게 보이게 할 수가 있다. 밉맵의 LOD 바이어스의 더 자세한 정보는, 「D3DSAMP_MIPMAPLODBIAS 」를 참조할것.
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE
IDirect3DDevice9::BeginSceneIDirect3DDevice9::EndScene 의 사이에서의 멀티 샘플링의 온과 오프의 변환을 지원 한다 (D3DRS_MULTISAMPLEANTIALIAS 를 사용한다).
D3DPRASTERCAPS_SCISSORTEST
장치는, 시저 테스트를 지원 한다. 「시저 테스트」를 참조할것.
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS
장치는, 진정한 슬로프 스케일 베이스의 깊이 바이어스를 실행한다. 이것은, 종래의 D3DPRASTERCAPS_DEPTHBIAS 와는 다르다.
D3DPRASTERCAPS_WBUFFER
장치는, w 를 사용하는 깊이 버퍼링을 지원 한다.
D3DPRASTERCAPS_WFOG
장치는, w 베이스의 포그(안개:fog)를 지원 한다. W 베이스의 포그(안개:fog)는, 퍼스펙티브 투영 행렬이 지정되었을 경우에 사용되지만, 아핀 투영에서는 현재에도 Z 베이스의 포그(안개:fog)가 사용된다. 시스템은,[3][4] 요소가 제로 이외의 값을 가지는 투영 행렬을 퍼스펙티브 투영 행렬이다고 본다.
D3DPRASTERCAPS_ZBUFFERLESSHSR
장치는, 숨고 면의 제거 (HRS)를 실행할 수 있어 이 때, 다각형의 소트나 깊이 버퍼의 할당을 필요로 하지 않는다. 이것에 의해, 보다 많은 비디오 메모리를 텍스처용으로 사용할 수 있다. HSR 를 실행하기 위해서 사용하는 메서드는 하드웨어의 기능에 의존해, 애플리케이션에 대해서는 투과적이다.

Z 버퍼 없음의 HRS 가 실행되는 것은, 깊이 버퍼 표면이 렌더링 타겟 표면에 관련지을 수 있지 않고, 한편 깊이 버퍼의 비교 테스트가 유효하게 되어 있는 경우 (즉,D3DRS_ZENABLE 열거 정수에 관련된 스테이트값이 TRUE 로 설정되어 있는 경우)이다.

D3DPRASTERCAPS_ZFOG
장치는, z 베이스의 포그(안개:fog)를 지원 한다.
D3DPRASTERCAPS_ZTEST
장치는, z 테스트 처리를 실행할 수 있다. 이 값은, 효과적으로 기본도형를 렌더링 해, Z 픽셀이 렌더링 되었는지 어떠했는지를 나타낸다.
ZCmpCaps

Z 버퍼 비교 능력. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DPCMPCAPS_ALWAYS
항상 Z 테스트를 패스한다.
D3DPCMPCAPS_EQUAL
신규의 Z 가 현재의 Z 로 동일한 경우, Z 테스트를 패스한다.
D3DPCMPCAPS_GREATER
신규의 Z 가 현재의 Z 보다 큰 경우, Z 테스트를 패스한다.
D3DPCMPCAPS_GREATEREQUAL
신규의 Z 가 현재의 Z 보다 큰가 동일한 경우, Z 테스트를 패스한다.
D3DPCMPCAPS_LESS
신규의 Z 가 현재의 Z 보다 작은 경우, Z 테스트를 패스한다.
D3DPCMPCAPS_LESSEQUAL
신규의 Z 가 현재의 Z 보다 작은가 동일한 경우, Z 테스트를 패스한다.
D3DPCMPCAPS_NEVER
항상 Z 테스트를 실패한다.
D3DPCMPCAPS_NOTEQUAL
신규의 Z 가 현재의 Z 로 동일하지 않은 경우, Z 테스트를 패스한다.
SrcBlendCaps

소스 혼합 능력. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다. (소스 및 목적지의 RGBA 값은, 첨자의 sd 로 나타난다).

D3DPBLENDCAPS_BLENDFACTOR
드라이버는, D3DBLEND_BLENDFACTOR 과 D3DBLEND_INVBLENDFACTOR 의 양쪽 모두를 지원 한다. 「D3DBLEND 」를 참조할것.
D3DPBLENDCAPS_BOTHINVSRCALPHA
전송원의혼합 계수는 (1-As, 1-As, 1-As, 1-As)으로, 목적지의 혼합 계수는 (As, As, As, As)이다. 목적지의 혼합 선택 내용은 덧쓰기된다.
D3DPBLENDCAPS_BOTHSRCALPHA
드라이버는 D3DBLEND_BOTHSRCALPHA 혼합 모드를 지원 한다(이 혼합 모드는 폐지되고 있다. 더 자세한 정보는, 「D3DBLEND」를 참조할것).
D3DPBLENDCAPS_DESTALPHA
혼합 계수는 (Ad, Ad, Ad, Ad).
D3DPBLENDCAPS_DESTCOLOR
혼합 계수는 (Rd, Gd, Bd, Ad).
D3DPBLENDCAPS_INVDESTALPHA
혼합 계수는 (1-Ad, 1-Ad, 1-Ad, 1-Ad).
D3DPBLENDCAPS_INVDESTCOLOR
혼합 계수는 (1-Rd, 1-Gd, 1-Bd, 1-Ad).
D3DPBLENDCAPS_INVSRCALPHA
혼합 계수는 (1-As, 1-As, 1-As, 1-As).
D3DPBLENDCAPS_INVSRCCOLOR
혼합 계수는 (1-Rs, 1-Gs, 1-Bs, 1-As).
D3DPBLENDCAPS_ONE
혼합 계수는, (1, 1, 1, 1).
D3DPBLENDCAPS_SRCALPHA
혼합 계수는 (As, As, As, As).
D3DPBLENDCAPS_SRCALPHASAT
혼합 계수는 (f, f, f, 1); f = min(As, 1-Ad).
D3DPBLENDCAPS_SRCCOLOR
혼합 계수는 (Rs, Gs, Bs, As).
D3DPBLENDCAPS_ZERO
혼합 계수는, (0, 0, 0, 0).
DestBlendCaps
목적지 혼합 능력. 이 멤버는,SrcBlendCaps 멤버로 정의된 능력과 같다.
AlphaCmpCaps
알파 테스트 비교 능력. 이 멤버는,ZCmpCaps 멤버로 정의된 능력 플래그를 포함한다. 이 멤버가 D3DPCMPCAPS_ALWAYS 능력만, 또는 D3DPCMPCAPS_NEVER 능력밖에 가지고 있지 않은 경우, 드라이버는 알파 테스트를 지원 하지 않는다. 그 이외의 경우, 이 플래그는 알파 테스트를 지원 하는 각각의 비교를 나타낸다.
ShadeCaps
쉐이딩 처리 능력. 일반적으로, 장치가 지정된 커멘드를 지원 하고 있는 경우, 그 장치는 D3DSHADE_FLAT 모드 (D3DSHADEMODE 열거형으로 지정된다)를 지원 하면 보여진다. 이 플래그는, 드라이버가 gouraud shading도 지원 할 수 있을지 어떨지, 및알파색성분이 지원 되고 있는지를 나타낸다. 알파 성분이 지원되지 않은 경우, 생성된 색의 알파값은 암묵으로 255 가 된다. 이 수치가, 알파의 최대치 (알파 성분이 최강)이다.

삼각형의 색, 스펙큐러 하이라이트, 포그(안개:fog), 및 알파의 각 보간 요소에는 각각 능력 플래그가 있어, 애플리케이션은 그 플래그를 사용해, 장치 드라이버가 그것들을 어떻게 처리 하고 있을까를 알 수 있다.

이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DPSHADECAPS_ALPHAGOURAUDBLEND
장치는, 그로브렌드에 의한 투명화 (D3DSHADEMODE 열거형의 D3DSHADE_GOURAUD 스테이트)에 대한 알파 성분을 지원 할 수 있다. 이 모드에서는, 기본도형의 알파 성분은 정점으로써 주어져 다른 색성분과 함께 면을 따라 보간 된다.
D3DPSHADECAPS_COLORGOURAUDRGB
장치는, RGB 컬러 모델로 컬러 gouraud shading를 지원 할 수 있다. 이 모드에서는, 기본도형에 대한 색성분은 정점으로써 주어져 다른 색성분과 함께 면을 따라 보간 된다. RGB 조명 모델에서는, 적·록·청의 각 성분이 보간 된다.
D3DPSHADECAPS_FOGGOURAUD
장치는, gouraud shading 모드로 포그(안개:fog)를 지원 할 수 있다.
D3DPSHADECAPS_SPECULARGOURAUDRGB
장치는, 스펙큐러 하이라이트의 gouraud shading를 지원 한다.
TextureCaps

그 외의 텍스처 맵핑 능력. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DPTEXTURECAPS_ALPHA
텍스처 픽셀에 대해 알파가 지원 된다.
D3DPTEXTURECAPS_ALPHAPALETTE
장치는, 텍스처 팔레트로부터 알파를 드로잉(Drawing) 할 수 있다.
D3DPTEXTURECAPS_CUBEMAP
큐브 텍스처를 지원 한다.
D3DPTEXTURECAPS_CUBEMAP_POW2
장치에서는, 큐브 텍스처 맵의 넓이는 2 의 거듭제곱으로 지정되지 않으면 안 된다.
D3DPTEXTURECAPS_MIPCUBEMAP
장치는, 밉맵화 큐브 텍스처를 지원 한다.
D3DPTEXTURECAPS_MIPMAP
장치는, 밉맵화 텍스처를 지원 한다.
D3DPTEXTURECAPS_MIPVOLUMEMAP
장치는, 밉맵화 볼륨 텍스처를 지원 한다.
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
조건부로 2 의 거듭제곱이 아닌 넓이에서의 2D 텍스처의 사용을 지원 한다. 이 능력을 공개하는 장치는, 다음의 요건이 모두 채워지는 경우에 이러한 텍스처를 사용할 수 있다.
  • 텍스처 스테이지의 텍스처어드레싱모드가,D3DTADDRESS_CLAMP 로 설정되어 있다.
  • 텍스처 스테이지의 텍스처 랩핑이 무효가 되어 있다 (D3DRENDERSTATETYPE n 를 0 으로 설정).
  • MIP Mapping가 사용되지 않다 (확대 필터만을 사용).
  • 텍스처 포맷이 DXT1-5 여서는 안 된다.

2 의 거듭제곱이 아닌 텍스처는, 셰이더 계산에 근거해 읽히는 스테이지에서는 설정할 수 없다 (픽셀 셰이더 버전 1_0 ~ 1_3 의 bem, beml, texm3x3 명령 등). 예를 들어, 이러한 텍스처는, 텍스처의 read로 지정하는 범프를 저장에 사용할 수 있지만, texbem, texbeml, texm3x3spec 로 사용하는 환경 맵에는 사용할 수 없다. 즉, 2 의 거듭제곱이 아닌 넓이의 텍스처는, 셰이더내에서 계산된 텍스처 좌표를 사용해 주소 지정하거나 샘플 하거나 할 수 없다. 이 타입의 연산은종속 read로 불려 이러한 종류의 텍스처에서는 실행할 수 없다.

D3DPTEXTURECAPS_NOPROJECTEDBUMPENV
장치는, 프로그램 가능 및 고정 기능 셰이더내에서의 투영 범프 환경 룩 업 연산을 지원 하지 않는다.
D3DPTEXTURECAPS_PERSPECTIVE
퍼스펙티브 보정의 텍스처링이 지원 된다.
D3DPTEXTURECAPS_POW2
모든 텍스처의 폭과 높이는, 2 의 거듭제곱으로 지정할 필요가 있다. 이 요건은, 큐브 텍스처와 볼륨 텍스처에는 적용되지 않는다.
D3DPTEXTURECAPS_PROJECTED
D3DTTFF_PROJECTED 텍스처 변환 플래그를 지원 한다. 이 능력이 적용되고 있는 경우, 장치는 변환이 끝난 텍스처 좌표를 마지막 텍스처 좌표로 나눗셈 한다. 이 능력이 설정되어 있는 경우, 픽셀 단위에 투영 나눗셈을 한다. 이 능력이 설정되지 않은 경우에, 투영 나눗셈이 필요한 때는, Direct3D 런타임에 의해 정점 마다 행해진다.
D3DPTEXTURECAPS_SQUAREONLY
텍스처는, 모두 정방형이 아니면 안된다.
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
텍스처 인덱스는, 보간 실행전에는, 텍스처 사이즈에 맞추어 스케일링 되지 않는다.
D3DPTEXTURECAPS_VOLUMEMAP
장치는, 볼륨 텍스처를 지원 한다.
D3DPTEXTURECAPS_VOLUMEMAP_POW2
장치에서는, 볼륨 텍스처 맵의 넓이는 2 의 거듭제곱으로 지정되지 않으면 안 된다.
TextureFilterCaps
Direct3DTexture 개체의 텍스처 필터링 능력. 스테이지 단위의 필터링 능력은, 멀티 텍스처 혼합을 실행할 때에 텍스처 스테이지에 대해서 지원 되는 필터링 모드를 나타내고 있다. 이 멤버는,D3DPTFILTERCAPS 용으로 정의된 스테이지 단위의 텍스처 필터링 플래그를 임의에 조합한 것이다.
CubeTextureFilterCaps
Direct3DCubeTexture 개체의 텍스처 필터링 능력. 스테이지 단위의 필터링 능력은, 멀티 텍스처 혼합을 실행할 때에 텍스처 스테이지에 대해서 지원 되는 필터링 모드를 나타내고 있다. 이 멤버는,D3DPTFILTERCAPS 용으로 정의된 스테이지 단위의 텍스처 필터링 플래그를 임의에 조합한 것이다.
VolumeTextureFilterCaps
Direct3DVolumeTexture 개체의 텍스처 필터링 능력. 스테이지 단위의 필터링 능력은, 멀티 텍스처 혼합을 실행할 때에 텍스처 스테이지에 대해서 지원 되는 필터링 모드를 나타내고 있다. 이 멤버는,D3DPTFILTERCAPS 용으로 정의된 스테이지 단위의 텍스처 필터링 플래그를 임의에 조합한 것이다.
TextureAddressCaps

Direct3DTexture 개체의 텍스처어드레싱 능력. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DPTADDRESSCAPS_BORDER
장치는,D3DSAMP_BORDERCOLOR 텍스처 스테이지 스테이트로 지정되는 경계색을,[0.0, 1.0] 의 범위외의 좌표로 설정할 수 있다.
D3DPTADDRESSCAPS_CLAMP
장치는, 텍스처를 주소에 고정할 수 있다.
D3DPTADDRESSCAPS_INDEPENDENTUV
장치는, 텍스처의 U 좌표와 V 좌표의 텍스처어드레싱모드를 분리할 수 있다. 이 능력은,D3DSAMP_ADDRESSUD3DSAMP_ADDRESSV 렌더링 스테이트값에 대응한다.
D3DPTADDRESSCAPS_MIRROR
장치는, 텍스처를 주소에 반영시킬 수가 있다.
D3DPTADDRESSCAPS_MIRRORONCE
장치는, 텍스처 좌표의 절대치를 취득해 (0 을 중심으로 미러링), 최대치에 제한한다.
D3DPTADDRESSCAPS_WRAP
장치는, 텍스처의 붙이기가 가능하다.
VolumeTextureAddressCaps
Direct3DVolumeTexture 개체의 텍스처어드레싱 능력. 이 멤버에는,TextureAddressCaps 멤버용으로 정의된 1 개 또는 복수의 플래그를 설정할 수 있다.
LineCaps

선묘화 기본도형의 능력을 정의한다.

D3DLINECAPS_ALPHACMP
알파 테스트 비교를 지원 한다.
D3DLINECAPS_ANTIALIAS
anti-aliasing 된 라인을 지원 한다.
D3DLINECAPS_BLEND
소스 혼합을 지원 한다.
D3DLINECAPS_FOG
포그(안개:fog)를 지원 한다.
D3DLINECAPS_TEXTURE
텍스처 맵핑을 지원 한다.
D3DLINECAPS_ZTEST
Z 버퍼 비교를 지원 한다.
MaxTextureWidth
이 장치의 텍스처의 폭의 최대치.
MaxTextureHeight
이 장치의 텍스처의 높이의 최대치.
MaxVolumeExtent
볼륨 텍스처의 3 개의 넓이 (폭, 높이, 깊이)의 최대치.
MaxTextureRepeat

이 숫자는, 정규화한 후의 텍스처 좌표의 정수 비트의 최대 범위를 나타낸다. 텍스처 좌표는, 32 비트의 부호 첨부 정수로서 저장 된다. 정수부의 저장에 27 비트를 사용해, 부동 소수점의 소수부의 저장에 5 비트를 사용한다. 최대 정수 인덱스인 227 은, 최대 텍스처 좌표의 판별로 사용된다. 최대 텍스처 좌표는, 텍스처 좌표의 스케일링이 하드웨어에 의해 어떻게 처리될까에 따라서 다르다.

예를 들어, 일부의 하드웨어에서는 D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 가 보고된다. 이 경우 장치는, 보간 및 텍스처어드레싱모드의 적용을 할 때까지 텍스처 사이즈에 의한 텍스처 좌표의 스케일링을 실시하지 않는다. 따라서, 텍스처를 랩 할 수 있는 회수는 MaxTextureRepeat 의 정수값에 의해 정해진다.

한편, D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 가 설정되지 않은 장치에서는, 보간을 하기 전에 텍스처 좌표가 텍스처 사이즈에 의해 최대 상세 레벨로 스케일링 된다. 이 경우, 텍스처를 랩 할 수 있는 회수는,MaxTextureRepeat 를 텍스처 사이즈로 나눈 값이 되어 버린다.

예를 들어,MaxTextureRepeat 가 32 KB 로, 텍스처의 사이즈가 4 KB 였다고 한다. 하드웨어로 D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 가 설정되어 있는 경우, 텍스처를 랩 할 수 있는 회수는 MaxTextureRepeat 에 동일해진다 (이 예에서는 32 KB). 한편, D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 가 설정되지 않은 경우는,MaxTextureRepeat 를 텍스처 사이즈로 나눈 값이 텍스처를 랩 할 수 있는 회수가 된다 (이 예에서는 227/4 KB).

MaxTextureAspectRatio
하드웨어에 의해 지원 되는, 텍스처의 최대 어스펙트비(가로세로 비율). 보통은 2 의 거듭제곱.
MaxAnisotropy
D3DSAMP_MAXANISOTROPY 텍스처 스테이지 스테이트의 최대 유효값.
MaxVertexW
장치가 지원 하는 최대의 W 베이스 깊이값.
GuardBandLeft
가이드 밴드 클리핑 영역의 화면 공간 좌표. 이 직사각형내에 있어, 한편 뷰포트 직사각형의 외측에 있는 좌표는, 자동적으로 클리핑 된다.
GuardBandTop
가이드 밴드 클리핑 영역의 화면 공간 좌표. 이 직사각형내에 있어, 한편 뷰포트 직사각형의 외측에 있는 좌표는, 자동적으로 클리핑 된다.
GuardBandRight
가이드 밴드 클리핑 영역의 화면 공간 좌표. 이 직사각형내에 있어, 한편 뷰포트 직사각형의 외측에 있는 좌표는, 자동적으로 클리핑 된다.
GuardBandBottom
가이드 밴드 클리핑 영역의 화면 공간 좌표. 이 직사각형내에 있어, 한편 뷰포트 직사각형의 외측에 있는 좌표는, 자동적으로 클리핑 된다.
ExtentsAdjust
에일리어징 제거 커널이 들어가도록(듯이) 직사각형의 외변을 조절하기 위한 픽셀수.
StencilCaps
지원 되고 있는 스텐실 버퍼 처리를 지정하는 플래그. 스텐실 처리는, 3 종류의 스텐실 버퍼 처리 렌더링 스테이트 (D3DRS_STENCILFAIL ,D3DRS_STENCILPASS ,D3DRS_STENCILZFAIL )의 모두에 대해서 유효하다라고 보여진다.

더 자세한 정보는, 「D3DSTENCILCAPS 」를 참조할것.

FVFCaps

유연한 정점 포맷의 능력.

D3DFVFCAPS_DONOTSTRIPELEMENTS
정점 요소는 삭제하지 않는 것이 좋다. 즉, 정점 포맷이 현재의 렌더링 스테이트로 사용되지 않는 요소를 포함하고 있어도, 정점을 다시 생성할 필요는 없다. 이 능력 플래그가 지정되지 않은 경우, 정점 포맷화등 불필요한 요소를 삭제 하면, 퍼포먼스가 향상한다.
D3DFVFCAPS_PSIZE

포인트 사이즈는, 렌더링 스테이트 또는 정점 데이터에 의해 정해진다.

D3DFVFCAPS_PSIZE 를 설정했을 경우, 포인트 사이즈는 FVF 정점 선언의 D3DFVF_PSIZE 데이터로부터 꺼낼 수 있다. 그 이외의 경우는, 포인트 사이즈는 렌더링 스테이트 D3DRENDERSTATETYPE 로 정해진다.

애플리케이션이 렌더링 스테이트와 FVF 데이터의 양쪽 모두로 포인트 사이즈를 제공하는 경우, 정점 데이터가 렌더링 스테이트 데이터를 덧쓰기한다.

D3DFVFCAPS_TEXCOORDCOUNTMASK
FVFCaps 의 하위 WORD 를 마스크 한다. 이 비트는,WORD 데이터형에 캐스트 되어 장치가 복수의 텍스처 혼합에 동시에 사용할 수 있는 텍스처 좌표 세트의 총수를 나타낸다. (어느 정점에 대해서도 최대 8 개의 텍스처 좌표 세트를 사용할 수 있지만, 장치에서는 지정된 개수의 텍스처 좌표 세트만 혼합 할 수 있다).
TextureOpCaps

이 장치가 지원 하는 텍스처 처리를 나타내는 플래그의 편성. 다음의 플래그가 정의되고 있다.

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_LERP
D3DTOP_LERP 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATE
D3DTOP_MODULATE 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATE2X
D3DTOP_MODULATE2X 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATE4X
D3DTOP_MODULATE4X 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
D3DTOP_MODULATEALPHA_ADDCOLOR 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
D3DTOP_MODULATECOLOR_ADDALPHA 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
D3DTOP_MODULATEINVALPHA_ADDCOLOR 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
D3DTOP_MODULATEINVCOLOR_ADDALPHA 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_MULTIPLYADD
D3DTOP_MULTIPLYADD 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_PREMODULATE
D3DTOP_PREMODULATE 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_SELECTARG1
D3DTOP_SELECTARG1 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_SELECTARG2
D3DTOP_SELECTARG2 텍스처 혼합 처리를 지원 한다.
D3DTEXOPCAPS_SUBTRACT
D3DTOP_SUBTRACT 텍스처 혼합 처리를 지원 한다.
MaxTextureBlendStages
고정 기능 파이프라인으로 지원 되는 텍스처 혼합 스테이지의 최대수. 이 값은, 사용 가능한 블렌더의 수이다. 프로그래밍 가능한 픽셀 파이프라인에서는, 이것은, 픽셀 셰이더 명령으로 사용하는 독자적인 텍스처 레지스터의 수에 일치한다.
MaxSimultaneousTextures
고정 기능 파이프라인의 텍스처 혼합 스테이지에 동시에 바인드 할 수 있는 텍스처의 최대수. 이 값은, 싱글 패스로 사용할 수 있는 텍스처의 수이다. 2 개의 혼합 스테이지에서 같은 텍스처가 사용되고 있는 경우, MaxSimultaneousTextures 의 값에 대해서는 2 개로 보여진다. 프로그래밍할 수 있는 파이프라인에서는, 이것은 특정의 하드웨어의 픽셀 셰이더에 의해 지원 되는 텍스처 레지스터 또는 샘플러 레지스터의 수, 및 사용 가능한 텍스처 선언 명령의 수를 나타낸다.
VertexProcessingCaps

정점의 처리 능력. 물리 장치에 의해, 이 능력은,IDirect3D9::CreateDevice 로 지정된 파라미터에 응해 Direct3DDevice 개체간에 다른 일이 있다. 「D3DVTXPCAPS 」를 참조할것.

MaxActiveLights
동시에 액티브하게 할 수 있는 라이트의 최대수. 물리 장치에 의해, 이 능력은,IDirect3D9::CreateDevice 로 지정된 파라미터에 응해 Direct3DDevice 개체간에 다른 일이 있다.
MaxUserClipPlanes
지원 되는 사용자 정의 클립면의 최대수. 이 멤버는 0 으로부터 D3DMAXUSERCLIPPLANES 까지의 범위가 된다. 물리 장치에 의해, 이 능력은,IDirect3D9::CreateDevice 로 지정된 파라미터에 응해 Direct3DDevice 개체간에 다른 일이 있다.
MaxVertexBlendMatrices
복수의 행렬에 의한 정점 혼합을 실행할 때에 장치를 적용할 수 있는 행렬의 최대수. 물리 장치에 의해, 이 능력은,IDirect3D9::CreateDevice 로 지정된 파라미터에 응해 Direct3DDevice 개체간에 다른 일이 있다.
MaxVertexBlendMatrixIndex
정점 단위의 인덱스를 사용해 인덱스 붙이고 할 수 있는 최대의 행렬 인덱스를 나타내는 DWORD 값. 행렬의 수는 MaxVertexBlendMatrixIndex + 1 으로, 이것은 행렬 팔레트의 사이즈이다. 조명에 혼합 할 필요가 있는 정점 데이터에 법선이 존재하는 경우, 행렬의 수는, 이 능력 플래그로 나타나고 있는 수의 반이 된다. MaxVertexBlendMatrixIndex 에 0 이 설정되어 있는 경우, 드라이버는 인덱스 첨부 정점 혼합을 지원 하고 있지 않다. 이 값이 0 이 아닌 경우, 인덱스의 유효한 범위는 0 으로부터 MaxVertexBlendMatrixIndex 까지이다.

MaxVertexBlendMatrixIndex 의 값이 0 의 경우는, 드라이버가 인덱스 첨부 행렬을 지원 하고 있지 않는 것을 나타낸다.

소프트웨어 정점 처리가 사용되고 있는 경우는, 법선 혼합이 있어도 없어도, 256 개의 행렬을 인덱스 첨부 정점 혼합에 사용할 수 있다.

물리 장치에 의해, 이 능력은,IDirect3D9::CreateDevice 로 지정된 파라미터에 응해 Direct3DDevice 개체간에 다른 일이 있다.

MaxPointSize
포인트 기본도형의 최대 사이즈. 1.0f 로 설정되어 있는 경우, 장치는 포인트 사이즈의 제어를 지원 하고 있지 않다. 범위는 1.0f 이상이다.
MaxPrimitiveCount
DrawPrimitive 의 각 호출의 최대 기본도형수. Direct3D 가 DirectX 6.0 또는 DirectX 7.0 드라이버로 동작하고 있는 경우, 이 필드는 0xFFFF 로 설정된다. 이 경우, 기본도형의 수 뿐만이 아니라 정점의 수도 이 값에 의해 제한된다.
MaxVertexIndex
하드웨어 정점 처리에 대해서 지원 되는 인덱스의 최대 사이즈. D3DFMT_INDEX32 를 지정해 32 비트 인덱스 버퍼를 생성 할 수 있다. 다만, 이 값이 0x0000FFFF 보다 크지 않은 경우는, 인덱스 버퍼를 사용해 렌더링 할 수 없다.
MaxStreams
IDirect3DDevice9::SetStreamSource 에 대한 동시 데이터 스트림의 최대수. 유효 범위는 1 ~ 16 이다. 이 값이 0 의 경우, DirectX 9.0 드라이버는 아닌 것에 주의한다.
MaxStreamStride
IDirect3DDevice9::SetStreamSource 의 최대 보폭.
VertexShaderVersion
픽셀 셰이더의 메인 버전과 서브 버전을 나타내는 2 개의 숫자. 각 정점 셰이더 버전으로 지원 되는 명령의 더 자세한 정보는, 「명령 - vs_1_1 」, 「명령 - vs_2_0 」, 「명령 - vs_2_x 」 및 「명령 - vs_3_0 」를 참조할것.
MaxVertexShaderConst
정수용으로 예약되고 있는 정점 셰이더 레지스터 - vs_1_1 의 수.
PixelShaderVersion
픽셀 셰이더의 메인 버전과 서브 버전을 나타내는 2 개의 숫자. 각 픽셀 셰이더 버전으로 지원 되는 명령의 더 자세한 정보는, 「명령 - vs_1_1 」, 「명령 - vs_2_0 」, 「명령 - vs_2_x 」 및 「명령 - vs_3_0 」를 참조할것.
PixelShader1xMaxValue
픽셀 셰이더의 산술 구성 요소의 최대치. 이 값은, 픽셀 컬러 혼합 처리로 지원 되는 값의 내부 범위를 나타낸다. 리포트되는 범위내에서는, 데이터가 변경 (제한)되지 않고 픽셀 처리에게 건네질 필요가 있다. 보통, 이 멤버의 값은 절대치이다. 예를 들어, 1.0 은 -1. 0 ~ 1 의 범위를 나타내, 8.0 은 -8. 0 ~ 8.0 의 범위를 나타낸다. 픽셀 셰이더를 지원 하는 하드웨어에서는, 이 값이 >= 1.0 이 아니면 안된다.
DevCaps2
적응형 테설레이션의 장치 드라이버 능력. 더 자세한 정보는, 「D3DDEVCAPS2 」를 참조할것.
MaxNpatchTesselationLevel
N 패치의 분할 레벨의 최대수. 프리샘플링 한 디스플레이스먼트 맵을 사용하고 있는 애플리케이션에 대해서는, 드라이버가 이 값에 고정한다. 「테설레이션」 및 「디스플레이스먼트 맵핑」을 참조할것.
MinAntialiasedLineWidth
에일리어징 제거선의 폭의 최소 값. 최소 값은 0.0 이다.
MaxAntialiasedLineWidth
에일리어징 제거선의 폭의 최대치. 최소 값은 1.0 이다.
MasterAdapterOrdinal

이 숫자는, 이 종속 장치의 마스터가 되는 장치를 나타낸다. IDirect3D9 메서드에 건네지는 어댑터값과 같은 공간으로부터 취득된다.

멀티 헤드 지원에서는, 1 개의 헤드가 "마스터" 헤드가 되어, 동일 카드 위에의 그 외의 헤드는 모두 "종속" 헤드가 된다. 시스템내에 복수의 멀티 헤드 어댑터가 존재하는 경우, 1 개의 멀티 헤드 어댑터의 마스터 헤드와 그 종속 헤드는 "그룹" 이라고 부른다.

AdapterOrdinalInGroup
이 숫자는, 애플리케이션 프로그래밍 인터페이스 (API)가 헤드를 참조하는 차례를 나타낸다. 마스터 어댑터의 AdapterOrdinalInGroup 는 항상 0 이다. 이러한 값은 IDirect3D9 메서드에 건네지는 어댑터 번호에는 대응하고 있지 않다. 이러한 값이 적용되는 것은, 그룹내의 헤드 에 대해서만이다.
NumberOfAdaptersInGroup
이 어댑터 그룹의 어댑터의 수 (마스터의 경우만). 보통의 어댑터에서는 1 이 된다. 멀티 헤드 카드의 마스터 어댑터에서는 1 보다 커져, 멀티 헤드 카드의 종속 어댑터에서는 0 이 된다. 카드로 복수의 마스터 어댑터가 있을 것은 않지만, 종속 어댑터는 복수가 되는 경우도 있다.
DeclTypes
정점의 선언에 포함되어 있는 1 개 혹은 복수의 데이터형의 편성. 「D3DDTCAPS 」를 참조할것.
NumSimultaneousRTs
동시 렌더링 타겟의 수. 1 이상이 아니면 안된다.
StretchRectFilterCaps

IDirect3DDevice9::StretchRect 가 지원 하고 있는 처리를 나타내는 정수의 편성. 이 필드로 설정할 수 있는 플래그 :

정수설명
D3DPTFILTERCAPS_MINFPOINT장치는, 직사각형을 축소하는 포인트 샘플 필터링을 지원 한다. 이 필터 타입은,D3DTEXF_POINT 를 사용해 IDirect3DDevice9::StretchRect 를 호출하는 것으로 요구한다.
D3DPTFILTERCAPS_MAGFPOINT장치는, 직사각형을 확대하는 포인트 샘플 필터링을 지원 한다. 이 필터 타입은,D3DTEXF_POINT 를 사용해 IDirect3DDevice9::StretchRect 를 호출하는 것으로 요구한다.
D3DPTFILTERCAPS_MINFLINEAR장치는, 직사각형을 축소하는 바이리니아 보간 필터링을 지원 한다. 이 필터 타입은,D3DTEXF_LINEAR 을 사용해 IDirect3DDevice9::StretchRect 를 호출하는 것으로 요구한다.
D3DPTFILTERCAPS_MAGFLINEAR장치는, 직사각형을 확대하는 바이리니아 보간 필터링을 지원 한다. 이 필터 타입은,D3DTEXF_LINEAR 을 사용해 IDirect3DDevice9::StretchRect 를 호출하는 것으로 요구한다.

더 자세한 정보는, 「D3DTEXTUREFILTERTYPE 」 및 「D3DTEXTUREFILTERTYPE 」를 참조할것.

VS20Caps
장치는, 정점 셰이더 버전 2_0 확장 기능을 지원 한다. 「D3DVS20CAPS 」를 참조할것.
PS20Caps
장치는, 픽셀 셰이더 버전 2_0 확장 기능을 지원 한다. 「D3DPS20CAPS 」를 참조할것.
VertexTextureFilterCaps
장치는, 정점 셰이더 텍스처 필터 기능을 지원 한다. 「D3DPTFILTERCAPS 」를 참조할것.
MaxVShaderInstructionsExecuted
실행할 수 있는 정점 셰이더 명령의 최대수.
MaxPShaderInstructionsExecuted
실행할 수 있는 정점 셰이더 명령의 최대수.
MaxVertexShader30InstructionSlots
지원 되는 정점 셰이더의 명령 슬롯의 최대수. 설정할 수 있는 최대수는 32768. vs_3_0 를 지원 하는 장치는, 적어도 512 의 명령 슬롯을 지원 할 수 있어야 한다.
MaxPixelShader30InstructionSlots
지원 되는 픽셀 셰이더의 명령 슬롯의 최대수. 설정할 수 있는 최대수는 32768. vs_3_0 를 지원 하는 장치는, 적어도 512 의 명령 슬롯을 지원 할 수 있어야 한다.
Reserved2
예약이 끝난 상태.
Reserved3
예약이 끝난 상태.

주의

MaxTextureBlendStagesMaxSimultaneousTextures 멤버는 유사하고 있는 것처럼 보이지만, 다른 정보를 저장 하고 있다. MaxTextureBlendStages 멤버는, 현재의 장치로 지원 되는 텍스처 혼합 스테이지의 총수를 나타내,MaxSimultaneousTextures 멤버는,IDirect3DDevice9::SetTexture 메서드를 사용해 이러한 스테이지중 몇개의 스테이지에서 텍스처를 바인드 할 수 있는지를 나타낸다.

드라이버가 이 구조체에 값을 설정하는 경우, 능력의 취득에 사용하는 인터페이스 (IDirect3DDevice9 등)가 실행 버퍼를 지원 하고 있지 않아도, 실행 버퍼 능력의 값이 설정되는 경우가 있다.

일반적으로, 텍스처를 사용하고 있어, 장면(scene)중으로 텍스처 변경 하면, 퍼포먼스의 문제가 발생한다. 현재의 IDirect3DDevice9::BeginSceneIDirect3DDevice9::EndScene 블록으로 사용되고 있는 텍스처가, 정말로 소용 없게 될 때까지는, 배제되지 않게 해야 한다. 장면(scene)로 텍스처를 다용하고 있는 경우, 결과는 부정이다. 이것은, 장면(scene)로 사용한 텍스처를 변경 할 때 이용 가능한 텍스처 메모리가 부족하는 경우에 발생한다. 이러한 시스템에서는, Z 버퍼의 내용은 EndScene 로 무효가 된다. 애플리케이션은, 이 타입의 하드웨어상에서는,BeginSceneEndScene 의 사이로, 백 버퍼에의, 또는 백 버퍼로부터의 IDirect3DDevice9::UpdateSurface 를 호출해서는 안된다. 게다가D3DPRASTERCAPS_ZBUFFERLESSHSR 능력 플래그가 설정되어 있는 경우, 애플리케이션은 Z 버퍼에 액세스 해서는 안된다. 마지막으로, 애플리케이션은 BeginSceneEndScene 의 페어의 사이로, 백 버퍼 또는 Z 버퍼를 잠금 해서는 안된다.

다음에 나타내는 밉맵 텍스처 관련의 플래그는, DirectX 9.0 에서는 지원하지 않는다.

구조체의 정보

헤더d3d9caps.h
최저한의 operating system Windows 98

참조

IDirect3D9::GetDeviceCaps ,IDirect3DDevice9::GetDeviceCaps


© 2002 Microsoft Corporation. All rights reserved.
↑TOP