DirectX Graphics 프로그래밍 가이드 고도의 주제 픽셀 파이프라인 스텐실 버퍼 테크닉 디졸브, 페이드, 와이프   [목차열람] [주소복사] [슬롯비우기]
디졸브, 페이드, 와이프
 
Microsoft DirectX 9.0

디졸브, 페이드, 와이프


디졸브, 와이프, 페이드등의 영화나 비디오로 자주(잘) 사용되는 특수 효과를 애플리케이션으로 이용하는 것이 증가하고 있다.

디졸브에서는, 프레임이 서서히 바뀌는 것에 의해 있는 화면이 다른 화면에 순조롭게 처리 한다. Microsoft® Direct3D® 에서는, 멀티 텍스처 혼합을 사용하는 방법으로 이 이펙트를 생성 할 수 있지만, 디졸브에 스텐실 버퍼를 사용하는 애플리케이션은, 디졸브의 실행중에 텍스처 혼합 기능을 다른 이펙트에 이용할 수 있다.

디졸브를 실행 할 때 애플리케이션은 2 개가 다른 화면을 렌더링 해야 한다. 애플리케이션은 스텐실 버퍼를 사용해, 렌더링 타겟 표면에 각 화면의 어느 픽셀을 드로잉(Drawing) 하는지를 제어한다. 일련의 스텐실 마스크를 정의해, 연속하는 프레임의 스텐실 버퍼에 이러한 마스크를 복사 할 수 있다. 다른 방법으로서 최초의 프레임용의 기본 스텐실 마스크를 정의해, 이 마스크를 인크리먼트(increment) 해 변경할 수도 있다.

디졸브를 시작 한 시점에서, 애플리케이션은, 시작시의 화면의 픽셀의 대부분이 스텐실 테스트를 패스하도록(듯이) 스텐실 함수와 스텐실 마스크를 설정한다. 마지막 화면의 대부분의 픽셀은, 스텐실 테스트에 실패하게 된다. 프레임이 계속되는 것에 따라, 최초의 화면의 픽셀로 테스트에 패스하는 픽셀이 서서히 적게 되도록(듯이), 스텐실 마스크를 갱신한다. 프레임이 계속되는 것에 따라, 마지막 화면의 픽셀로 테스트에 실패하는 픽셀이 서서히 적게 된다. 이와 같이, 임의의 디졸브파탄을 사용해 디졸브를 실행할 수 있다.

용명 또는 용암은, 디졸브의 특수한 케이스이다. 용명 할 때는, 스텐실 버퍼를 사용해, 흑색 또는 백색의 화면으로부터 3D 장면의 렌더링에 디졸브 한다. 용암은 이것과 역으로, 3D 장면의 렌더링으로부터 시작되어, 흑색 또는 백색의 화면에 디졸브 한다. 페이드에는, 어떠한 패턴에서도 사용할 수 있다.

Direct3D 애플리케이션은, 와이프에도 동일한 기술을 사용한다. 예를 들어, 왼쪽에서 오른쪽에의 와이프를 실행하는 경우, 마지막 화면이 최초의 화면 위에 서서히 슬라이드하도록(듯이) 왼쪽에서 오른쪽으로 이동한다. 디졸브의 경우와 같이, 연속 프레임의 스텐실 버퍼에 로드하는 일련의 스텐실 마스크를 정의하는지, 최초의 스텐실 마스크를 연속적으로 수정할 필요가 있다. 이 스텐실 마스크는, 최초의 화면의 픽셀의 쓰기를 무효로 해, 마지막 화면의 픽셀의 쓰기를 유효하게 하기 위해서 사용한다.

와이프의 순서와는 역의 순서로 마지막 화면의 픽셀을 읽어내지 않으면 안 된다고 하는 점으로써, 와이프는 디졸브보다 조금 복잡하다. 즉, 와이프가 왼쪽에서 오른쪽으로 이동하는 경우, 애플리케이션은 마지막 화면의 픽셀을 오른쪽에서 왼쪽으로 읽어내지 않으면 안 된다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP