티스토리 뷰

반응형

애니메이션의 껌벅이는 현상을 피하려면 다음과 같은 방법을 사용하는 것이 최선이다. 우선 , 애니메이션희스프레임 전체를 화면 바깥의 ( off - screen ) 텍스처에 그린다. 그런 텍스처를 후면 버퍼 ( back buffer)라고 부른다 . 주어진 한 프레임을 위해 장면 전체를 후면 버퍼에 그린 다음에는 , 그 후면 버퍼를 하나의 관전한 프레임으로며 화면에표시한다 . 이렇게 하면 화면을 보른 사용자에게는 프레임이 그려지는 과정이 나타나지 않는다. 사용자는 완성된 프레임만을 볼 뿐이다. 이러한 기법을 이중 버퍼링이라고 부른다 . 이중 버퍼링을 효율적으로 구현하려면 하드웨어로 관리되는 두개의 텍스처 버퍼 가 필요한데 , 하나는 전면 버퍼 ( front buffer ) 이고 다른 하나는 앞에서 언급한 후면 버퍼이다. 화면에는 전면 버퍼에 담긴 이미지 자료가 표시된다 . 전면 버퍼가 하면에 표시된 동안 애니메이션의 다음 프레임을 후면 버퍼에 그리고 다 그려지면 전면 버퍼라 후면버퍼의 역할을 맞바꾼다 . 즉, 후면 버퍼가 새 전면 버퍼가 되어서 그 내용이 화면에 표시되고 , 전면 버퍼가 새 후션 버퍼가 되어서 다음 프레임이 그려진다 . 이처럼 후면버퍼와 전면 버퍼의 역할을 교환해서 페이지가 전달되게 하는 것을 Direct3D 에서는 제시 ( presenting ) 라고 부는다 . 이러한 제시는 아주 효율적인 연산이다 . 버퍼들의 내용 자체를 맞바꾸는 것이 아니라 그냥 현재 전면 버퍼로의 포인터와 현재 후면 버퍼로의 포인터만 맞바꾸면 되기 때문이다. 아래처럼 연산이 진행되는 과정이 나라 있다 . 

 

이처램 두 개의 버퍼 (전면과 후면)를 사용하는 방법을 이중 버퍼링 ( double buffering ) 이라고 부른다. 더 많은 버퍼를 사용하는 것도 가능하다. 버퍼 세 대를 사용하는 것을 삼중 버퍼링 ( triple buffering ) 이라고 부른다.

반응형

'DirectX12 > Direct3D' 카테고리의 다른 글

자원과 서술자.  (0) 2023.05.27
깊이 버퍼링(Depth Buffering).  (0) 2023.05.25
텍스처  (0) 2023.05.16
COM  (0) 2023.05.16
Direct3D 기본 이해구조.  (0) 2023.05.16
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함