본문 바로가기

개인공부/DirectX

DirectX 1일

1일차

 

//  Direct X는 직접 하드웨어에 접근해서 출력할수 있게 도와주는 라이브러리이다.

(현재 12까지 업그레이드 되었다)

 

 

-direct 9부터 3D 가능

-direct 10 Gpu의 등장

 

엔진을 이해하기 위해서

가장 대중적인 direct 11버젼을 공부할 예정이다.

 

//////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// ////////////////////////////////////////

 

 

Window 어플리케이션에서 사용하는 장소

1) wWinMain

1-1 메세지 루프 장소

기본 메세지 루프인 아래의 코드는 게임과는 적합하지않은 코드

MSG msg;

// 기본 메시지 루프입니다:
while (GetMessage(&msg, nullptr, 0, 0))
{
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

return (int) msg.wParam;

 

따라서 아래의 코드로 바꿔준다.

MSG msg = {};

// 기본 메시지 루프입니다:
while (msg.message!= WM_QUIT)
{
    if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
    else
    {
        //Update, Render
    }
}

 

 

 

2)InitInstance

 

 

 

InitInstance

 

밑의 코드처럼 window 창크기를 잡으면 안맞는부분이 생기기 때문에

RECT windowSize = { 0,0,SCREEN_WIDTH,SCREEN_HEIGHT };
AdjustWindowRect(&windowSize, WS_OVERLAPPEDWINDOW, false);


HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
   WIN_START_X, WIN_START_Y, // Window 시작위치
   SCREEN_WIDTH, SCREEN_HEIGHT,          //WIndow 창크기
    nullptr, nullptr, hInstance, nullptr);

 

 Rect의 Window 사이즈를 잡아주고 이를 AdjustWindowRect 함수를 사용해서 알맞게 조정해주는 작업이 필요하다.

 

 

 

//////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// ////////////////////////////////////////

 

Framework 헤더파일에서

 

1) 이미 마소에서 제공되어 포함되어있는 #include <d3d11.h> 가 있기때문에 추가해주고
2) cpp 를 따로 추가해주기 위해서  #pragma comment(lib,"d3d11.lib")를 추가해준다.

 

Main 에서
ID3D11Device* device;   //CPU  
ID3D11DeviceContext* deviceContext;  // GPU 를 정의해준다.

 

 

 

 

 

'개인공부 > DirectX' 카테고리의 다른 글

DirectX8일차_RectCollision  (0) 2024.03.07
DirectX 7일차 _Collision  (0) 2024.03.06
DirectX 6일차  (0) 2024.03.05
DirectX 5일차  (0) 2024.03.04
DirectX 4일차  (2) 2024.03.04