DirectX 3D/DirectX92016. 6. 14. 16:33

Direct3D가 제공하는 모든 기능들은 D3DCAPS9 구조체 내의 비트와 데이터 멤버에 대응된다.

기본적인 방식은 특정 하드웨어의 특성에 따라 D3DCAPS9 인스턴스의 멤버를 초기화하는 것으로, 우리의 애플리케이션에서는 D3DCAPS9 인스턴스의 대응되는 비트나 데이터 멤버를 확인하여 장치가 특정한 기능을 제공하는지를 확인할 수 있다.


//이 예제는 하드웨어 장치가 하드웨어 버텍스 프로세싱을 지원하는지의 여부를 확인하는 작업


DevCaps는 장치특성(device capabilities)의 의미

bool supportsHardwareVertexProcessing;


if(caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)    //(D3DDEVCAPS_HWTRANSFORMANDLIGHT : 장치가 변환과 조명 계산이 되는지 여부)

{

//비트가 켜져있으면 지원가능

supportsHardwareVertexProcessing = true;

}

else

{

//비트가 꺼져있으면 지원불가능

supportsHardwareVertexProcessing = false;

}

Posted by 멜데스