게임의 렌더링 시스템에서는 프레임 버퍼를 최소 두 개 사용한다. 프레임 버퍼에 대한 읽기와 쓰기를 동시에 수행할 수 있도록 하기 위함이다.
전체 장면을 한 번에 화면에 띄워주기 위해 한 프레임 버퍼가 화면에 띄워질 동안 다른 프레임 버퍼는 렌더링 코드에 의해 값이 쓰여진다. 값이 쓰여진 프레임 버퍼는 다시 GPU가 읽어 화면에 출력해 준다. 이 과정이 반복된다.
8.3 패턴
버퍼 클래스는 현재 버퍼와 다음 버퍼, 이렇게 두 개의 버퍼를 갖는다.
정보를 읽을 때는 현재 버퍼에 접근, 정보를 쓸 때는 다음 버퍼에 접근, 변경이 끝나면 다음 버퍼와 현재 버퍼를 교체한다.
DirectX에서는 렌더링을 위한 이중 버퍼를 지원한다. IDXGISwapChain 를 버퍼 클래스로 사용한다. GetBuffer로 버퍼 객체를 얻을 수 있다.
'읽은 책 > 게임 프로그래밍 패턴' 카테고리의 다른 글
10. 순서 패턴 - 업데이트 메서드 (0) | 2022.07.16 |
---|---|
9. 순서 패턴 - 게임 루프 (0) | 2022.07.15 |
7. 디자인 패턴 - 상태(state) (0) | 2022.07.15 |
6. 디자인 패턴 - 싱글턴 (0) | 2022.07.14 |
5. 디자인 패턴 - 프로토타입 (0) | 2022.07.13 |