개인공부/Direct2D(10)
-
스타크래프트 기능 구현 1
스타크래프트1에서 필요한 기초적인 기능들을 구현하였다.
2023.07.10 -
카메라
기본적인 카메라의 확대, 축소, 이동, 회전을 구현하였다. 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_rend..
2023.07.06 -
계층구조 설계
부모 오브젝트와 자식 오브젝트 구조를 만들었다. 자식은 부모의 움직임을 따라가고 부모와 offset이 있어서 그만큼 떨어지게 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 void MainScene::Enter() { /// 리소스 로드 LoadSceneResources(L"MainScene"); /// 플레이어 오브젝트 추가 GameObject* player = new GameObject("player"); player->CreateComponent(); Transform* transform = player->GetComponent(); transfo..
2023.07.05 -
충돌감지
1. AABB 1 2 3 4 5 6 7 8 9 10 11 12 13 // AABB 충돌 else { Vector2 leftMin = leftPosition - leftScale * 0.5f; Vector2 leftMax = leftPosition + leftScale * 0.5f; Vector2 rightMin = rightPosition - rightScale * 0.5f; Vector2 rightMax = rightPosition + rightScale * 0.5f; if (leftMin.x = rightMin.x && leftMin.y = rightMin.y) return true; } return false; Colored by Color Scripter cs 2. OBB 1 2 3 4 5 6 7..
2023.06.14