像素级动态模糊(Pixel Motion Blur)
生活随笔
收集整理的這篇文章主要介紹了
像素级动态模糊(Pixel Motion Blur)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
像素級動態(tài)模糊(Pixel Motion Blur)
動態(tài)模糊近幾年廣泛應(yīng)用于游戲制作的一種特效,可以使得游戲所呈現(xiàn)出的運動畫面更接近于真實相機所拍攝出的效果。?
??? 在真實世界中,運動模糊是指在相機拍攝畫面時,由于被拍攝物體在相機快門曝光的短暫時間內(nèi)有一定幅度的運動,造成拍攝出的畫面產(chǎn)生殘影和模糊的效果,通常相機只有在捕捉高速運動物體或者相機本身處在高速旋轉(zhuǎn)中會出現(xiàn)這種效果。?
??? 那么如何能利用GPU在游戲畫面中實現(xiàn)這一效果的呢??
??? 其實原理和實現(xiàn)都非常的簡單,實現(xiàn)Motion blur的方法也有很多,這里以DirectX9自帶Sample中的方法為例進(jìn)行說明。?
??? 我們知道在游戲中對于畫面的渲染是一種單幀渲染,通常情況下,兩幀之間并沒有直接關(guān)聯(lián),但是對于動態(tài)模糊在時間上是一個連續(xù)行為,最終的效果勢必需要前后狀態(tài)的參與。?
??? 所以實現(xiàn)的基本原理就是通過記錄圖像中每一個像素點的運動速度向量,并在該方向采樣來混合繪制顏色。?
??? ……………………?
??? 就這么簡單……?
??? 不過實現(xiàn)的時候還是有很多地方需要注意的,首先效果的實現(xiàn)用到了Post-Processing的概念,也就是說效果的生成并非是在每幀繪制過程中實現(xiàn)的,而是在當(dāng)前幀繪制完成后進(jìn)行的,不同的環(huán)境中可以用不同的方法完成,在DX下是通過前一文中的Render Target來實現(xiàn)的。?
??? 在Sample中記錄每一像素點的速度是通過下一文中介紹的Multiple Render Target實現(xiàn)的,格式使用的是D3DFMT_A8R8G8B8和D3DFMT_G16R16F浮點型。?
??? 像素點速度的計算是通過相鄰兩幀之間像素的經(jīng)過投影變換的世界矩陣相減得到的,不要忘記的是,坐標(biāo)要除以w得到非齊次坐標(biāo)后再進(jìn)行相減計算。?
??? 得到像素點速度后,通過在速度方向上進(jìn)行一定數(shù)量的采樣,混合后即可得到該點的正確顏色。?
??? 這種方法的實現(xiàn)優(yōu)點在于原理簡單,缺點在于對于模擬極端情況下(超長曝光時間,超高運動速度)和運動軌跡弧度較大是失真比較明顯。
??? 在真實世界中,運動模糊是指在相機拍攝畫面時,由于被拍攝物體在相機快門曝光的短暫時間內(nèi)有一定幅度的運動,造成拍攝出的畫面產(chǎn)生殘影和模糊的效果,通常相機只有在捕捉高速運動物體或者相機本身處在高速旋轉(zhuǎn)中會出現(xiàn)這種效果。?
??? 那么如何能利用GPU在游戲畫面中實現(xiàn)這一效果的呢??
??? 其實原理和實現(xiàn)都非常的簡單,實現(xiàn)Motion blur的方法也有很多,這里以DirectX9自帶Sample中的方法為例進(jìn)行說明。?
??? 我們知道在游戲中對于畫面的渲染是一種單幀渲染,通常情況下,兩幀之間并沒有直接關(guān)聯(lián),但是對于動態(tài)模糊在時間上是一個連續(xù)行為,最終的效果勢必需要前后狀態(tài)的參與。?
??? 所以實現(xiàn)的基本原理就是通過記錄圖像中每一個像素點的運動速度向量,并在該方向采樣來混合繪制顏色。?
??? ……………………?
??? 就這么簡單……?
??? 不過實現(xiàn)的時候還是有很多地方需要注意的,首先效果的實現(xiàn)用到了Post-Processing的概念,也就是說效果的生成并非是在每幀繪制過程中實現(xiàn)的,而是在當(dāng)前幀繪制完成后進(jìn)行的,不同的環(huán)境中可以用不同的方法完成,在DX下是通過前一文中的Render Target來實現(xiàn)的。?
??? 在Sample中記錄每一像素點的速度是通過下一文中介紹的Multiple Render Target實現(xiàn)的,格式使用的是D3DFMT_A8R8G8B8和D3DFMT_G16R16F浮點型。?
??? 像素點速度的計算是通過相鄰兩幀之間像素的經(jīng)過投影變換的世界矩陣相減得到的,不要忘記的是,坐標(biāo)要除以w得到非齊次坐標(biāo)后再進(jìn)行相減計算。?
??? 得到像素點速度后,通過在速度方向上進(jìn)行一定數(shù)量的采樣,混合后即可得到該點的正確顏色。?
??? 這種方法的實現(xiàn)優(yōu)點在于原理簡單,缺點在于對于模擬極端情況下(超長曝光時間,超高運動速度)和運動軌跡弧度較大是失真比較明顯。
總結(jié)
以上是生活随笔為你收集整理的像素级动态模糊(Pixel Motion Blur)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实时人脸检测
- 下一篇: 基于空间金字塔池化的卷积神经网络物体检测