카메라

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