본문 바로가기
Direct2D

About Direct2D (Direct2D란?)

by leo21c 2014. 6. 24.

1. Graphics APIs in Windows


<참고> http://msdn.microsoft.com/en-us/library/windows/desktop/ee417756(v=vs.85).aspx#application_compatibility__gdi__and_older_versions_of_direct3d


초기 Windows의 Graphic API는 GDI(Graphic Device Interface)였다. 이 API는 2D를 처리하기 위해서 설계되었고, 윈도우의 사용자 인터페이스 경험(user interface experience)에 대한 기초를 형성했다. DirectDraw와 Direct3D는 하드웨어의 확장으로 Game과 3D 렌더링을 처리하기 위한 API로 도입되었다.

Windows XP는 GDI와 Direct3D가 병렬로 제공되었다.

Figure 1. Graphics APIs in Windows XP




3D video card의 발달과 함께 새로운 윈도우 디스플레이 드라이버 모델(Windows Display Driver Model) WDDM은 GPU와 Direct3D를 최상단에서 제공한다. 이렇게 해서 GDI방식의 2D와 GPU를 이용한 방식을 혼영해서 사용할 수 있도록 한다. 

Figure 2. Graphics APIs in Windows Vista



2. What is Direct2D?

<참고> http://msdn.microsoft.com/en-us/library/windows/desktop/dd370987(v=vs.85).aspx

Direct2D는 하드웨어 가속이 되는(GPU를 사용하는) 2D Graphic API이다. 2D Line, Curve 등 형상 및 Text, Bitmap을 높은 품질로 제공한다. Direct2D API는 GDI, GDI+ 또는 Direct3D에서 사용하는 기존 코드와 함께 사용할 수 있도록 제작되었다.

Direct2D는 Direct3D 10.1 API를 사용해서 만들어진 라이브러리이다. 따라서 GPU를 사용한 하드웨어 가속을 사용할 수 있다. 

Direct2D는 GDI+와 비슷한 화면 품질을 가지지만 속도가 훨씬 빠르다. GDI는 GDI+보다 빠르지만 Antialiasing이 처리되지 않는다.  Direct2D는 GDI와 유사 또는 빠르면서 GDI+에서 제공하는 Antialiasing도 표현되기 때문에 화면에 표시되는 결과물이 좋다. 그리고 빠르다.