1、 什么是运动模糊(MotionBlur)?

    当人眼在观察快速运动的物体时,看到的物体是模糊的,这种现象就是运动模糊(MotionBlur)。

2、 为什么用运动模糊(MotionBlur)?

    没有采用运动模糊的计算机动画,当物体快速移动时,缺乏连贯性和真实感。添加了运动模糊特效后使运动变得更平滑,场景更逼真。

3、 怎么添加运动模糊(MotionBlur)?

    运动模糊关键是要得到两帧之间物体运动的速度,再根据此速度作为参数来进行模糊处理。

    这里以DXSDK MotionBlur Sample为例:

             1)      第一个Pass: 通过MRT,把整个场景渲染到颜色纹理,同时把每个像素的速度值存储到另一张纹理(速度值得计算是在VS中进行,分别用前一帧和当前帧的WorldViewProjection矩阵变换顶点,然后再计算两者之差,把此per-vertex velocity传道PS中作为per-pixel velocity)

             2)      第二个Pass:后处理(PostProcess),渲染屏幕大小的矩形,然后再采样第一步得到的速度纹理,得到当前像素的速度,利用速度来模糊颜色纹理,得到最终结果。

    具体的细节可参加DXSDK Sample PixelMotionBlur.

 4, 参考文献

            1)      DXSDK Sample PixelMotionBlur.

            2)      http://http.developer.nvidia.com/GPUGems3/gpugems3_ch27.html

posted on 2013-03-25 20:55  Just a Programer  阅读(3373)  评论(0编辑  收藏  举报