카메라
2023. 7. 6. 00:02ㆍ개인공부/Direct2D
기본적인 카메라의 확대, 축소, 이동, 회전을 구현하였다.
BeginRender 함수를 호출하면 최종행렬을 계산하여 최종행렬 값으로 오브젝트들을 그린다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
void D2DRenderer::BeginRender()
{
m_IsD2DResReady = CreateDeviceResources();
// 디바이스 종속적 자원들이 문제 없고, 랜더링을 할 수 있는 상황일 때
if(SUCCEEDED(m_IsD2DResReady) &&
!(m_renderTarget->CheckWindowState() & D2D1_WINDOW_STATE_OCCLUDED))
{
m_renderTargetSize = m_renderTarget->GetSize();
m_renderTarget->BeginDraw();
/// 최종 행렬 계산
D2D1_MATRIX_3X2_F cameraMatix = m_camera->GetCameraMatrix();
m_finalMatrix = cameraMatix * m_screenMatrix;
m_renderTarget->SetTransform(m_finalMatrix);
m_renderTarget->Clear(D2D1::ColorF(D2D1::ColorF::Black));
}
}
|
cs |
'개인공부 > Direct2D' 카테고리의 다른 글
스타크래프트 기능 구현 2 (0) | 2023.07.14 |
---|---|
충돌 연산 최적화 (0) | 2023.07.12 |
스타크래프트 기능 구현 1 (0) | 2023.07.10 |
계층구조 설계 (0) | 2023.07.05 |
충돌감지 (0) | 2023.06.14 |