본문 바로가기
::public/윈도우즈 응용 프로그래밍

Direct2D

by 해맑은욱 2019. 9. 25.

*DirectX SDK의 구성 요소.

-DirectX Graphics: 그래픽을 담당하는 API. Direct3D, Direct2D, DirectWrite + WIC(Windows Imaging Component).

-DirectX Audio: 오디오를 담당하는 API. XAudio2.

-DirectX Input: 입력을 담당하는 API. XInput.

 

*Direct2D

;윈도우 환경에서의 새로운 2D 그래픽스 API.

하드웨어 가속 기능을 기본으로 사용하며 즉시 모드(immediate mode) 방식으로 동작함.

 

*즉시 모드

;프로그램 코드에서 호출하는 렌더링 명령어가 해당 그래픽 객체를 직접 렌더하는 효과를 발생시킨다.

이 모드에서는 DirectX와 같은 렌더링 프레임워크에 렌더할 것을 명시적으로 명령하여 자신의 데이터를 직접 렌더한다.

 

*보류 모드

;응용 프로그램이 생성한 장면 데이터들을 그래픽스 API가 내부적으로 보관한다. 화면에 그릴 필요가 있는 경우에 API가 내부적으로 보과하고 있는 장면을 처리하여 적절한 그리기 명령어들을 발생시킨다.

응용 프로그램은 API를 통하여 장면의 구성에 관여할 뿐이며 렌더링에 대한 명시적인 제어를 하지 않는다.

 

*Direct2D를 사용하기 위한 파일 설정.
#include <d2d1.h> 
#pragma comment(lib, "D2D1.lib")
using namespace D2D1;

 

*기본 구조체 타입 / 생성 도움 함수

D2D1_POINT_2U struct { UINT32 x, y; } Point2U(x, y)
D2D1_POINT_2F struct { FLOAT  x, y; } Point2F(x, y)
D2D1_RECT_U struct { UINT32 left, top, right, bottom; } RectU(left, top, right, bottom)
D2D1_RECT_F struct { FLOAT  left, top, right, bottom; } RectF(left, top, right, bottom)
D2D1_SIZE_U struct { UINT32 width, height; } SizeU(width, height)
D2D1_SIZE_F struct { FLOAT  width, height; } SizeF(width, height)
D2D1_COLOR_F struct { FLOAT  r, g, b, a; }  
D2D1_MATRIX_3X2_F struct { FLOAT  _11, _12, _12, _22, _31, _32; }  
D2D1_TAG typedef unsigned __int64    UINT64  

 

'::public > 윈도우즈 응용 프로그래밍' 카테고리의 다른 글

Direct2D - 오목 만들기  (0) 2019.09.25
Direct2D 사용하기  (0) 2019.09.25
Timer  (0) 2019.09.24
오목 만들기(결과로직 없음)  (0) 2019.09.24
MessageBox  (0) 2019.09.24