共用方式為


溶解、淡出和撥動 (Direct3D 9)

越來越多的應用程式採用在電影和視訊中常用的特殊效果,例如溶解、撥動和淡出。

在溶解中,一個影像會逐漸由另一個影像在平滑的畫面序列中取代。 雖然 Direct3D 提供使用多個紋理混合來達到相同效果的方法,但是使用樣板緩衝區溶解的應用程式可以在溶解時,使用紋理混合功能進行其他效果。

當應用程式執行溶解時,它必須轉譯兩個不同的影像。 它會使用樣板緩衝區來控制從每個影像繪製到轉譯目標介面的圖元。 您可以定義一系列的樣板遮罩,並將其複製到後續畫面格上的樣板緩衝區。 或者,您可以定義第一個畫面的基底樣板遮罩,並以累加方式加以改變。

在溶解開始時,您的應用程式會設定樣板函式和樣板遮罩,讓起始影像中的大部分圖元通過樣板測試。 結束影像中的大部分像素應該會失敗樣板測試。 在後續畫面上,樣板遮罩會更新,使開始影像中的圖元越少越越通過測試。 當畫面進行時,結束影像中的像素數目愈少越少,測試就會失敗。 如此一來,您的應用程式就可以使用任何任意溶解模式來執行溶解。

淡入或淡出是溶解的特殊案例。 淡入時,樣板緩衝區會用來從黑白影像溶解到 3D 場景的轉譯。 淡出是相反的,您的應用程式會從 3D 場景的轉譯開始,並溶解為黑色或白色。 淡出可以使用您想要採用的任何任意模式來完成。

Direct3D 應用程式會針對撥動使用類似的技術。 例如,當應用程式執行由左至右的撥動時,結束影像會顯示在從左至右開始影像頂端逐漸滑動。 如同在溶解中,您必須定義一系列樣板遮罩,這些遮罩會載入連續畫面上的樣板緩衝區,或連續修改起始樣板遮罩。 樣板遮罩可用來停用從開始影像寫入圖元,以及啟用從結束影像寫入圖元。

撥動比溶解更複雜,您的應用程式必須以撥動的反向順序從結束影像讀取圖元。 也就是說,如果撥動從左至右移動,您的應用程式必須從右至左讀取結束影像的圖元。

樣板緩衝區技術