DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DCAPS9 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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::BeginScene 와 IDirect3DDevice9::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 값은, 첨자의 s 및 d 로 나타난다).
- 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_ADDRESSU 및 D3DSAMP_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
- 예약이 끝난 상태.
주의
MaxTextureBlendStages 및 MaxSimultaneousTextures 멤버는 유사하고 있는 것처럼 보이지만, 다른 정보를 저장 하고 있다. MaxTextureBlendStages 멤버는, 현재의 장치로 지원 되는 텍스처 혼합 스테이지의 총수를 나타내,MaxSimultaneousTextures 멤버는,IDirect3DDevice9::SetTexture 메서드를 사용해 이러한 스테이지중 몇개의 스테이지에서 텍스처를 바인드 할 수 있는지를 나타낸다.
드라이버가 이 구조체에 값을 설정하는 경우, 능력의 취득에 사용하는 인터페이스 (IDirect3DDevice9 등)가 실행 버퍼를 지원 하고 있지 않아도, 실행 버퍼 능력의 값이 설정되는 경우가 있다.
일반적으로, 텍스처를 사용하고 있어, 장면(scene)중으로 텍스처 변경 하면, 퍼포먼스의 문제가 발생한다. 현재의 IDirect3DDevice9::BeginScene 및 IDirect3DDevice9::EndScene 블록으로 사용되고 있는 텍스처가, 정말로 소용 없게 될 때까지는, 배제되지 않게 해야 한다. 장면(scene)로 텍스처를 다용하고 있는 경우, 결과는 부정이다. 이것은, 장면(scene)로 사용한 텍스처를 변경 할 때 이용 가능한 텍스처 메모리가 부족하는 경우에 발생한다. 이러한 시스템에서는, Z 버퍼의 내용은 EndScene 로 무효가 된다. 애플리케이션은, 이 타입의 하드웨어상에서는,BeginScene 와 EndScene 의 사이로, 백 버퍼에의, 또는 백 버퍼로부터의 IDirect3DDevice9::UpdateSurface 를 호출해서는 안된다. 게다가D3DPRASTERCAPS_ZBUFFERLESSHSR 능력 플래그가 설정되어 있는 경우, 애플리케이션은 Z 버퍼에 액세스 해서는 안된다. 마지막으로, 애플리케이션은 BeginScene 와 EndScene 의 페어의 사이로, 백 버퍼 또는 Z 버퍼를 잠금 해서는 안된다.
다음에 나타내는 밉맵 텍스처 관련의 플래그는, DirectX 9.0 에서는 지원하지 않는다.
- D3DPTFILTERCAPS_NEAREST
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_LINEARMIPLINEAR
구조체의 정보
헤더 d3d9caps.h 최저한의 operating system Windows 98
참조
IDirect3D9::GetDeviceCaps ,IDirect3DDevice9::GetDeviceCaps