디졸브, 페이드 및 살짝 밀기(Direct3D 9)
응용 프로그램은 용해, 스 와이프 및 페이드와 같은 영화와 비디오에서 일반적으로 사용되는 특수 효과를 점점 더 많이 사용합니다.
용해에서 한 이미지는 부드러운 프레임 시퀀스로 점차 다른 이미지로 대체됩니다. Direct3D는 동일한 효과를 얻기 위해 여러 텍스처 혼합을 사용하는 방법을 제공하지만, 스텐실 버퍼를 용해에 사용하는 애플리케이션은 용해를 수행하는 동안 다른 효과에 텍스처 혼합 기능을 사용할 수 있습니다.
애플리케이션이 디졸브를 수행하는 경우 두 개의 다른 이미지를 렌더링해야 합니다. 스텐실 버퍼를 사용하여 렌더링 대상 화면에 그려지는 각 이미지의 픽셀을 제어합니다. 일련의 스텐실 마스크를 정의하고 연속 프레임의 스텐실 버퍼에 복사할 수 있습니다. 또는 첫 번째 프레임에 대한 기본 스텐실 마스크를 정의하고 증분 방식으로 변경할 수 있습니다.
디졸브의 시작 부분에서 애플리케이션은 시작 이미지의 대부분의 픽셀이 스텐실 테스트를 통과하게 스텐실 함수와 스텐실 마스크를 설정합니다. 끝 이미지의 대부분의 픽셀은 스텐실 테스트에 실패해야 합니다. 연속 프레임에서 스텐실 마스크가 업데이트되어 시작 이미지의 픽셀 수가 줄어들고 테스트를 통과합니다. 프레임이 진행됨에 따라 끝 이미지의 픽셀 수가 줄어들고 테스트에 실패합니다. 이러한 방식으로 애플리케이션은 임의의 용해 패턴을 사용하여 용해를 수행할 수 있습니다.
페이드 인 또는 페이드 아웃은 용해의 특별한 경우입니다. 페이드 인할 때 스텐실 버퍼는 검은색 또는 흰색 이미지에서 3D 장면의 렌더링으로 용해되는 데 사용됩니다. 페이드 아웃은 반대로, 애플리케이션은 3D 장면의 렌더링으로 시작하고 흑백으로 용해됩니다. 페이드(fade)는 사용하려는 임의의 패턴을 사용하여 수행할 수 있습니다.
Direct3D 애플리케이션은 살짝 밀기 위해 유사한 기술을 사용합니다. 예를 들어 애플리케이션이 왼쪽에서 오른쪽으로 살짝 밀기를 수행하면 끝 이미지가 왼쪽에서 오른쪽으로 시작 이미지 위에 점진적으로 미끄러지는 것처럼 보입니다. 디졸브에서와 같이 연속 프레임의 스텐실 버퍼에 로드되는 일련의 스텐실 마스크를 정의하거나 시작 스텐실 마스크를 연속적으로 수정해야 합니다. 스텐실 마스크는 시작 이미지에서 픽셀 쓰기를 사용하지 않도록 설정하고 끝 이미지에서 픽셀을 쓸 수 있도록 설정하는 데 사용됩니다.
살짝 밀기는 애플리케이션이 살짝 밀기의 역순으로 끝 이미지에서 픽셀을 읽어야 한다는 측면에서 디졸브보다 다소 복잡합니다. 즉, 살짝 밀기에서 왼쪽에서 오른쪽으로 이동하는 경우 애플리케이션은 오른쪽에서 왼쪽으로 끝 이미지에서 픽셀을 읽어야 합니다.
관련 항목