動作模糊 (Direct3D 9)

您可以將物件模糊化,並在物件後方留下物件影像模糊,以增強物件在 3D 場景中的感知速度。 Direct3D 應用程式會透過每個畫面多次轉譯物件來完成這項作業。

回想一下,Direct3D 應用程式通常會將場景轉譯成螢幕外緩衝區。 當應用程式呼叫 IDirect3DDevice9::P resent 方法時,緩衝區的內容會顯示在畫面上。 Direct3D 應用程式可以在畫面上顯示框架之前,多次將物件轉譯成場景。

以程式設計方式,您的應用程式會對 DrawPrimitive 方法進行多個呼叫,並重複傳遞相同的 3D 物件。 每次呼叫之前,物件的位置會稍微更新,在目標轉譯介面上產生一系列的模糊物件影像。 如果物件有一或多個紋理,您的應用程式可以藉由呈現物件的第一個影像及其所有紋理幾乎透明來增強動作模糊效果。 每次物件呈現時,物件的紋理透明度都會減少。 當您的應用程式在其最終位置轉譯物件時,它應該會呈現物件的紋理,而不會有透明度。 例外狀況是,如果您要將動作模糊新增至需要紋理透明度的另一個效果。 在任何情況下,框架中物件的初始影像應該是最透明的。 最終影像應該是最不透明的。

在應用程式將一系列物件影像轉譯到目標轉譯介面並轉譯場景的其餘部分之後,它應該呼叫 IDirect3DDevice9::P resent 方法,以在畫面上顯示框架。

如果您的應用程式正在模擬使用者以高速移動場景的效果,它可以將動作模糊新增至整個場景。 在此情況下,您的應用程式會針對每個畫面轉譯整個場景多次。 每次場景呈現時,您的應用程式都必須稍微移動觀點。 如果場景高度複雜,使用者可能會看到可見的效能降低,因為每個畫面的場景轉譯數目增加, 加速會增加。

反鋸齒