Unity后期处理-抗锯齿
2016-04-07 17:12
363 查看
一。产生原因
顶点插值可以产生任意位置的顶点。但是像素不是,像素着色器如何着色是通过他的中心点是否被三角形覆盖决定的。所以会产生突变,在外围看来就是锯齿。
二 解决方案
1. MSAA首先执行中心点的着色,然后把颜色复制给被三角形覆盖的采样点。最后加起来取平均来达到过渡,实现抗锯齿。
unity里通过 QualitySetting里设置采样点个数即可。4个采样点是最常用的设置。
2. 当你采用DR渲染管线时,由于渲染是在第二个pass进行,这时几何信息已被丢失,所以无法进行判断着色点有没有被三角形覆盖。这时进行抗锯齿采用 FXAA方法。基于渲染好的画面,然后进行边缘检测,可以根据颜色,法线等方法,然后在重新渲染边缘颜色。坏处就是边缘检测容易有误差,当相机移动时,很容易出现闪烁情况。
通过给camera加入Antialiasing脚本。类型一般渲染 FXAA3,效率比MSAA快。算法思想就是取像素 上下左右四个点的像素值,然后经过一系列运算,最后加权得出结果的像素。
3. 当采用DL渲染管线,第三遍pass是可以有几何信息进行MSAA的。但是unity现在不支持。
抗锯齿一般伴随着边缘模糊,然后基本效果就Ok了
DR实现MSAA http://docs.nvidia.com/gameworks/index.html#gameworkslibrary/graphicssamples/d3d_samples/antialiaseddeferredrendering.htm
参考文献
1.http://bullteacher.com/32-anti-aliasing.html
2.http://www.cbgitek.com/2015/06/06/anti-aliasing/
3.http://www.klayge.org/wiki/index.php/%E5%BB%B6%E8%BF%9F%E6%B8%B2%E6%9F%93#Anti-alias_2
顶点插值可以产生任意位置的顶点。但是像素不是,像素着色器如何着色是通过他的中心点是否被三角形覆盖决定的。所以会产生突变,在外围看来就是锯齿。
二 解决方案
1. MSAA首先执行中心点的着色,然后把颜色复制给被三角形覆盖的采样点。最后加起来取平均来达到过渡,实现抗锯齿。
unity里通过 QualitySetting里设置采样点个数即可。4个采样点是最常用的设置。
2. 当你采用DR渲染管线时,由于渲染是在第二个pass进行,这时几何信息已被丢失,所以无法进行判断着色点有没有被三角形覆盖。这时进行抗锯齿采用 FXAA方法。基于渲染好的画面,然后进行边缘检测,可以根据颜色,法线等方法,然后在重新渲染边缘颜色。坏处就是边缘检测容易有误差,当相机移动时,很容易出现闪烁情况。
通过给camera加入Antialiasing脚本。类型一般渲染 FXAA3,效率比MSAA快。算法思想就是取像素 上下左右四个点的像素值,然后经过一系列运算,最后加权得出结果的像素。
3. 当采用DL渲染管线,第三遍pass是可以有几何信息进行MSAA的。但是unity现在不支持。
抗锯齿一般伴随着边缘模糊,然后基本效果就Ok了
DR实现MSAA http://docs.nvidia.com/gameworks/index.html#gameworkslibrary/graphicssamples/d3d_samples/antialiaseddeferredrendering.htm
参考文献
1.http://bullteacher.com/32-anti-aliasing.html
2.http://www.cbgitek.com/2015/06/06/anti-aliasing/
3.http://www.klayge.org/wiki/index.php/%E5%BB%B6%E8%BF%9F%E6%B8%B2%E6%9F%93#Anti-alias_2
相关文章推荐
- Unity Drawcall 优化
- 【unity小技巧之三】添加自定义拓展,动态向某个类注入静态函数
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- unity中使用usafe代码的设置
- [置顶] Unity开发规范(个人习惯,仅供参考)
- 使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)
- Unity脚本获取内存和FPS
- Unity脚本获取内存和FPS
- Unity3d 读写文本
- unity3d动画帧事件回调脚本必须直接挂在模型上
- Unity3d平台预编译
- 移动游戏性能优化技术干货分享——CPU篇
- 游戏性能优化技术干货分享——内存管理
- Unity UGUI教程之实现滑页效果
- Unity实现滑页效果(UGUI)
- Unity实现滑页效果(UGUI)
- Unity Shaders and Effects Cookbook (3-2) 创建简单的 Phong 高光 光照模型
- Unity3D研究院之游戏场景的切换与持久化简单数据的储存(十四)
- [Unity] 在协程中等待指定的毫秒
- unity 5.3 工业模型的细节展开功能实现