Print Friendly and PDF

C++/유니티 엔진 모작(일시중지)

[유니티 엔진 제작] 더블 버퍼링

나는야 개발자 2025. 2. 11. 07:12
반응형

1. 더블 버퍼링이란?

첨부사진1

- 두 도화지를 번갈아가며 랜더링하는 기법

 

2. 사용 이유

첨부사진2

- 흰 도화지에 그려진 내용(검은색 잔상)을 지워주기 위해 방법

- 하나의 도화지에 생성하고 흰색으로 덮어줄 경우 깜빡 거림이 생김

 

3. 스크롤 화면 크기 정의

첨부사진3

- mWidth, mHeight 변수 추가 및 초기화 처리

- main에 화면 크기 정의 후 Initialize에 넣어주기

 

*화면크기 참고이미지

첨부사진4

 

4. 도화지가 될 BackBuffer추가

첨부사진5

 

5. 초기화 함수 수정

첨부사진6

- 새로운 도화지를 생성 후 서로 연결

 

7. 그려주기 

첨부사진7

- 정석대로면 두 도화지를 번갈아가며 랜더링 하지만 현재의 방법은 mBackHdc에 그린걸 원본 DC에 복사하는 방식으로 진행

 

*결과

첨부사진8

- 깜빡임도 없고 잔상도 없어짐

 

###############################

참조

https://youtu.be/lU0BrdamT14?si=QHpv8hvHEGW_IQXU

###############################

반응형