-
더블 버퍼링의 기초Win API/6. Double Buffering 2021. 4. 5. 09:55
이미지 리소스와 소스 파일은 밑에서 작업한 것을 그대로 가지고 온다.
designatedroom87.tistory.com/425
백버퍼를 만드는 순서
(1). 백버퍼에 비어있는 이미지로 초기화.
(2). 백 버퍼에 렌더할 데이터들을 렌더한다.
(3). 출력 전에 스크린DC에 복사.
(4). 모니터에 출력.
일단 기본 적인 더블 버퍼링의 기초 과정을 알아보자.
위의 소스 파일에서 대다수의 내용은 거의 다 지우는데,
배경화면 비트맵과 플레이어 비트맵만 남아있는 상태에서 시작한다.
아래는 WM_CREATE 메시지 부분이다.
CreateCompatibleBitmap 함수와 GetWindowLong 함수에 대해서는 아래에서 설명한다.
GetWindowLong 함수는 HINSTANCE를 얻어오기 위해서 호출한 것이다.
그 이유는 LoadBitmap 함수에서 HINSTANCE 변수를 필요로 하기 때문이다.
기존에는 HINSTANCE를 전역 변수로 두고 사용하였으나,
이번과 같이 로컬 변수로 두고 얻어 올 수 있다는 것을 보여주기 위해 사용하였다.
아래는 WM_PAINT 메시지이다.
아래는 WinMain 함수의 하단 부이다.
아래는 WM_DESTROY 메시지이다.
아래는 CreateCompatibleBitmap 함수와 GetWindowLong 함수이다.
프로그램 실행결과
소스 파일
'Win API > 6. Double Buffering' 카테고리의 다른 글
더블 버퍼링 활용 - 애니메이션 (0) 2021.04.05