DirectX11 썸네일형 리스트형 DirectX11 - Tutorial 5 (실시간 메시지 루프) PeekMessage()라는 단일 함수에 대해 알아보고, 이 함수가 사악한 쌍둥이 함수인 GetMessage()와 어떻게 다른지 알아보겠습니다. 사실, GetMessage()에는 아무런 문제가 없습니다. 작동 방식이 게임과 게임의 지속적인 활동에 굉장한 결과를 가져오지 못할 뿐입니다. 이것이 어떤 것인지, 그리고 PeekMessage()가 어떻게 해결책인지 살펴보겠습니다. GetMessage() 루프의 구조 이전 수업에서 우리는 GetMessage() 함수를 사용하여 간단한 Windows 애플리케이션을 빌드했습니다. 우리는 GetMessage()와 다른 두 함수를 사용하여 전송된 모든 Windows 메시지를 처리하는 루프를 만들었습니다. 그러나 당시에 이야기하지 않은 캐치가 있었습니다.다음 다이어그램은.. 더보기 DirectX11 - Tutorial 4 (창 크기, 클라이언트 크기) 그래픽 작업을 할 때는 그리는 영역의 정확한 크기를 아는 것이 중요합니다. 지난 수업에서 우리는 창을 만들고 크기를 500 x 400으로 설정했습니다. 그러나 Direct3D가 그리는 영역은 해당 창의 경우 500 x 400이 아닙니다 .- 그리기 영역의 실제 크기를 알아보고, 이를 보다 정확하게 설정하는 기능을 알아보자 CreateWindowEx()를 호출했을 때, 우리는 500과 400을 사용하여 윈도우의 크기를 설정했습니다. 그러나 이것은 클라이언트 의 크기와 다릅니다 . 클라이언트 영역은 테두리를 포함하지 않는 윈도우의 부분입니다. 여기에서 볼 수 있듯이, 창 크기는 테두리의 가장자리에서 확장되는 반면, 클라이언트 크기는 테두리의 내부로 확장됩니다. 렌더링할 때, 우리는 창의 클라이언트 영역에만.. 더보기 DirectX11 - Tutorial 3 (창 만들기) // 기본 Windows 헤더 파일 포함 #include #include // WindowProc 함수 프로토타입 LRESULT 콜백 WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); // 모든 Windows 프로그램의 진입점 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { .. 더보기 DirectX11 - Tutorial 2 (Hello World) WinMain() 함수는 Win32 콘솔의 main() 함수와 동일하다. 여기서 애플리케이션이 시작되고 기본적인 초기화를 수행할 수 있습니다. 저는 보통 창을 만드는 코드, 기본 루프, 그리고 보통 타이머를 위한 코드를 넣는다. WinMain() 함수의 프로토타입은 다음과 같습니다. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); 이 것들을 하나씩 알아보자! WINAPI 매개변수에 대해 알아보기 전에, 매개변수 바로 앞에 있는 것을 살펴보겠습니다. int와 WinMain 사이에 W.. 더보기 DirectX11 - Tutorial 1 (동작 순서) 먼저 DirectX11의 구조는 이렇게 동작한다. 1단계 : 프로그램 초기화 여기서 시작한다. 게임을 표시할 창을 만들고, DirectX를 사용하도록 설정하고, 그래픽, 모델 및 기타 미디어를 로드하고, 메모리를 할당하는 등의 작업을 한다. 2단계: 게임 시작 이 부분은 기본적으로 플레이할 게임을 설정하는 곳이다. 여기서 맵을 선택하고 플레이어(및 게임 세계의 다른 모든 사람)의 위치를 설정하거나 게임 시작 시에만 결정되는 무작위 지형과 같은 무작위 값을 설정할 수 있습니다. 이 모든 작업이 끝나면 게임 루프 자체에 들어간다. 3단계: 플레이어로부터 입력 받기 (여기서 부터는 게임 루프이다.) 여기에서는 키보드, 마우스, 조이스틱, 컨트롤러 또는 플레이어가 사용하는 모든 장치에서 모든 정보를 얻을 .. 더보기 이전 1 다음