하드웨어 변환 및 조명

조명 및 변환과 같은 기하 도형 작업의 하드웨어 가속은 최신 Direct X 릴리스용 D3dDrawPrimitives2 DDI를 수정하여 사용하도록 설정되었습니다. API 수준에서 하드웨어에서 꼭짓점 작업을 지원하는 디바이스는 래스터화만 수행하는 디바이스와 별도로 열거됩니다.

기존 Caps 구조는 하드웨어 가속 변환 디바이스에 있을 수 있는 기능을 나타내기 위해 확장되었습니다. 예를 들어 지원되는 광원 수는 D3DDEVICEDESC_V1 구조로 보고되는 D3DLIGHTINGCAPS 구조체의 dwNumLights 멤버로 설정됩니다.

다른 플래그는 다음 표에 나열되어 있습니다.

플래그 의미

D3DDEVCAPS_CANBLTSYSTONONLOCAL

디바이스는 시스템 메모리에서 비로컬 비디오 메모리까지 텍스처 Blt를 지원합니다.

D3DDEVCAPS_DRAWPRIMITIVES2EX

드라이버는 확장된 D3dDrawPrimitives2 기능을 지원하여 DirectX 7.0 규격입니다.

D3DDEVCAPS_HWRASTERIZATION

디바이스에는 래스터화를 위한 하드웨어 가속이 있습니다.

D3DDEVCAPS_HWTRANSFORMANDLIGHT

디바이스는 하드웨어에서 하드웨어 변환 및 조명을 모두 지원할 수 있습니다.

D3DDEVCAPS_SEPARATETEXTUREMEMORIES

디바이스가 별도의 메모리 풀에서 텍스처링하고 있습니다.

D3DTRANSFORMCAPS_CLIP

변환하는 동안 하드웨어가 클립할 수 있습니다.

하드웨어 기하 도형 가속기의 기능 집합이 다를 수 있으므로(예: 지원되는 광원 수) caps 구조는 이 디바이스가 수행하는 기하 도형 작업의 하위 집합을 나타냅니다. 0은 하드웨어가 변환만 수행함을 나타내는 지원되는 광원 수에 유효한 값입니다.

꼭짓점 법선이 포함된 꼭짓점만 제대로 켜집니다. 일반을 포함하지 않는 꼭짓점의 경우 점 곱 0이 모든 조명 계산에 사용됩니다.

기하 도형 파이프라인의 소프트웨어 구현에 사용되는 모든 키 상태 및 데이터 구조는 DDI 수준에서 사용할 수 있습니다. 일부 디스플레이 카드는 하드웨어에서 조명만 구현하고 호스트 프로세서에서 변환 및 클리핑을 수행합니다.

다음 렌더링 상태 유형은 변환 및 조명을 가속화하는 디바이스와만 관련됩니다.

D3DRENDERSTATE_AMBIENT
D3DRENDERSTATE_AMBIENTMATERIALSOURCE
D3DRENDERSTATE_CLIPPING
D3DRENDERSTATE_CLIPPLANEENABLE
D3DRENDERSTATE_COLORVERTEX
D3DRENDERSTATE_DIFFUSEMATERIALSOURCE
D3DRENDERSTATE_EMISSIVEMATERIALSOURCE
D3DRENDERSTATE_EXTENTS
D3DRENDERSTATE_FOGVERTEXMODE
D3DRENDERSTATE_LIGHTING
D3DRENDERSTATE_LOCALVIEWER
D3DRENDERSTATE_NORMALIZENORMALS
D3DRENDERSTATE_SPECULARMATERIALSOURCE
D3DRENDERSTATE_VERTEXBLEND