0
장치 문맥을 이용한
Direct2D
김희규
http://blog.naver.com/khk6435
시스템 사양
사양

최소

클라이언트
Windows 8
Platform Update for Windows 7 SP1

서버
Windows Server 2012
Platform Update for Windows
Serve...
머임 그게
기존의 Vista, 7에서의 Direct2D는

ID2D1****RenderTarget 사용
렌더 타겟이 리소스 생성과 렌더링을 동시에 수행

이제는
ID2D1DeviceContext를 사용한다!
이제는 #i...
장치 문맥의 장점
1. Windows Store 앱 개발 가능
2. 렌더 타겟을 지정 가능(윈도우에 그렸다가, 서피스에 그렸다가…)
3. 장치 문맥을 여러 개 생성 가능(멀티 스레딩에 효과적)
4. Direct3D와 같...
생성 방법
1.

D2D1CreateDevice() 함수로 ID2D1Device 객체 생성

2.

ID2D1Device::CreateDeviceContext() 메서드로 ID2D1DeviceContext 객체 생성
위...
렌더 타겟의 종류
ID2D1Image 인터페이스를 상속하는 인터페이스들
1.
2.

비트맵(ID2D1Bitmap, ID2D1Bitmap1)

생성 단계에서 D2D1_BITMAP_OPTIONS_TARGET 옵션이 지정되어...
렌더 타겟용 비트맵 만들어보기
ID2D1DeviceContext::CreateBitmap()
ID2D1DeviceContext::CreateBitmapFromDxgiSurface() DXGI Surface로부터
ID2D...
끝
예제 따위…(퍽)
내용 얼마 안돼요… 흑흑 봐줘요
PPT로 만드니까 편하네요
출처: MSDN - Windows Desktop Dev Center – Direct2D

http://msdn.microsoft.com/e...
Upcoming SlideShare
Loading in...5
×

장치 문맥을 이용한Direct2D

456

Published on

MSDN에서 Direct2D의 DeviceContext 문서를 읽다가 간단한 내용들을 정리해 보았습니다.

내용이 짧고 부실한게 함정...

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
456
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "장치 문맥을 이용한Direct2D"

  1. 1. 장치 문맥을 이용한 Direct2D 김희규 http://blog.naver.com/khk6435
  2. 2. 시스템 사양 사양 최소 클라이언트 Windows 8 Platform Update for Windows 7 SP1 서버 Windows Server 2012 Platform Update for Windows Server 2008 R2 Windows 7 SP1, Windows Server 2008 R2에선 Platform Update를 설치하셔야 됩니다.
  3. 3. 머임 그게 기존의 Vista, 7에서의 Direct2D는 ID2D1****RenderTarget 사용 렌더 타겟이 리소스 생성과 렌더링을 동시에 수행 이제는 ID2D1DeviceContext를 사용한다! 이제는 #include <d2d1_1.h> (없다고 뭐라 말기)
  4. 4. 장치 문맥의 장점 1. Windows Store 앱 개발 가능 2. 렌더 타겟을 지정 가능(윈도우에 그렸다가, 서피스에 그렸다가…) 3. 장치 문맥을 여러 개 생성 가능(멀티 스레딩에 효과적) 4. Direct3D와 같이 사용하기 편해짐 5. ID2D1RenderTarget의 기능 상속(도형, 문자열 렌더링도 지원함!) 6. 새로운 Direct2D 기능들 사용 가능(프린터 제어, 색상 문맥, 효과)
  5. 5. 생성 방법 1. D2D1CreateDevice() 함수로 ID2D1Device 객체 생성 2. ID2D1Device::CreateDeviceContext() 메서드로 ID2D1DeviceContext 객체 생성 위 2과정을 D2D1CreateDeviceContext() 함수로 한번에 가능 3. ID2D1DeviceContext::SetTarget(ID2D1Image*) 메서드로 렌더 타겟 지정
  6. 6. 렌더 타겟의 종류 ID2D1Image 인터페이스를 상속하는 인터페이스들 1. 2. 비트맵(ID2D1Bitmap, ID2D1Bitmap1) 생성 단계에서 D2D1_BITMAP_OPTIONS_TARGET 옵션이 지정되어야 함. 명령 리스트(ID2D1CommandList*) 그러나, 다른 장치 문맥에서 SetTarget() 메서드로 지정된 후 그 문맥에서 EndDraw() 메서드로 렌더링이 끝나지 않았을 경우 타겟으로 지정할 수 없다. Ex) 잘못된 예 Ctx1->Set(A) Ctx1->Set(null) Ctx2->Set(A) Ctx1->EndDraw()
  7. 7. 렌더 타겟용 비트맵 만들어보기 ID2D1DeviceContext::CreateBitmap() ID2D1DeviceContext::CreateBitmapFromDxgiSurface() DXGI Surface로부터 ID2D1DeviceContext::CreateBitmapFromWicBitmap() WIC Bitmap으로부터 D2D1_BITMAP_PROPERTIES1 구조체를 인자로 필요 bitmapOptions 필드에 D2D1_BITMAP_OPTIONS_TARGET을 OR(‘|’)로 묶어서 저장 D2D1::BitmapProperties1() 함수를 활용! DXGI Surface의 경우 Usage에 DXGI_USAGE_RENDER_TARGET_OUTPUT값을 지녀야 함. 또한 만드는 Direct3D 장치가 D3D11_CREATE_DEVICE_RGBA_SUPPORT 옵션을 지니고 있어야 하며, 기능 수준 9.1(D3D_FEATURE_LEVEL_9_1) 이상 이여야 함.
  8. 8. 끝 예제 따위…(퍽) 내용 얼마 안돼요… 흑흑 봐줘요 PPT로 만드니까 편하네요 출처: MSDN - Windows Desktop Dev Center – Direct2D http://msdn.microsoft.com/en-us/library/windows/desktop/dd370990(v=vs.85).aspx
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×