<참고>
http://msdn.microsoft.com/en-us/library/windows/desktop/dd756692(v=vs.85).aspx
1. Include Direcr2D Header
d2d1.h header를 incude 한다.
#include "d2d1.h" |
2. load library file
d2d1.lib 파일을 load 한다.
#pragma comment(lib, "d2d1.lib") |
3. Create an ID2D1Factory
ID2D1Factory를 생성한다.
ID2D1Factory* pD2DFactory = NULL; |
4. Create an ID2D1RenderTarget
ID2D1RenderTarget을 생성한다. ID2D1RenderTarget은 일반적으로 ID2D1HwndRenderTarget, ID2D1DCRenderTarget을 사용한다.
ID2D1HwndRenderTarget은 Hwnd를 보고 알수 있겠지만 Window handle을 이용해서 타켓을 지정하는 것이고, ID2D1DCRenderTarget는 DC를 보고 확인할 수 있듯이 Device Context를 이용해서 타겟을 지정한다. Target이란 그림을 그릴 곳을 지정하는 것이다.
// Obtain the size of the drawing area. // Create a Direct2D render target |
Rendering Target은 GPU를 이용해서 렌더링을 가속하고, 리소스를 화면에 표현한다. 또한 CPU를 이용해서 명령어를 처리하고 리소스를 생성하는 일을 한다. Direct2D가 GPU만을 사용하는 것이 아니라 화면에 처리하는 부분만 이용한다.
5. Create a Brush
brush를 생성한다.
ID2D1SolidColorBrush* pBlackBrush = NULL; |
6. Create TextFormat
Text Format을 생성한다.
DWriteTextFormat* pTextFormat; // Create a text format using Gabriola with a font size of 72. |
7. Draw Text
Text를 화면에 그린다.
static const WCHAR sc_helloWorld[] = L"Hello, World!"; // Retrieve the size of the render target. pRT->BeginDraw(); pRT->SetTransform(D2D1::Matrix3x2F::Identity()); hr = pRT->EndDraw(); |
7. Release Resources
리소스를 반환한다.
SafeRelease(pBlackBrush); |
'Direct2D' 카테고리의 다른 글
Improving the performance of Direct2D apps (0) | 2014.06.24 |
---|---|
Creating a Simple Direct2D Application (Direct2D 프로그램 만들기) (0) | 2014.06.24 |
About Direct2D (Direct2D란?) (0) | 2014.06.24 |
Direct2D API Overview (1) | 2014.06.12 |