動作模糊 (Direct3D 9)
您可以藉由模糊物件,並將物件影像模糊到物件後方,來增強物件在 3D 場景中的感知速度。 Direct3D 應用程式會藉由為每個畫面轉譯物件多次來完成這項作業。
回想一下,Direct3D 應用程式通常會將場景轉譯成螢幕外緩衝區。 當應用程式呼叫 IDirect3DDevice9::P resent 方法時,緩衝區的內容會顯示在畫面上。 Direct3D 應用程式可以在畫面上顯示畫面之前,將物件多次轉譯成場景。
以程序設計方式,您的應用程式會多次呼叫 DrawPrimitive 方法,重複傳遞相同的 3D 物件。 每次呼叫之前,物件的位置會稍微更新,在目標轉譯介面上產生一系列模糊的物件影像。 如果物件有一或多個紋理,您的應用程式可以藉由呈現物件的第一個影像及其所有紋理幾乎透明,來增強動作模糊效果。 每次對象呈現時,物件的紋理透明度都會降低。 當您的應用程式將對象轉譯為其最終位置時,它應該會呈現物件的紋理,而不會有透明度。 例外狀況是,如果您要將動作模糊新增至需要紋理透明度的另一個效果。 在任何情況下,框架中物件的初始影像應該是最透明的。 最終影像應該是最不透明的影像。
在您的應用程式將一系列物件影像轉譯到目標轉譯介面並轉譯場景的其餘部分之後,它應該呼叫 IDirect3DDevice9::P resent 方法來顯示畫面上的畫面。
如果您的應用程式正在模擬使用者以高速移動場景的效果,它可以將動作模糊新增至整個場景。 在此情況下,您的應用程式會為每個畫面呈現整個場景多次。 每次場景轉譯時,您的應用程式都必須稍微移動檢視點。 如果場景非常複雜,使用者可能會看到可見的效能降低,因為每個畫面的場景轉譯數目增加而增加加速。
相關主題