alpha to coverage
2024-10-11 07:11:18
alpha to coverage
在游戏中,经常使用带有半透明信息纹理的多边形模型来模拟复杂的物体,例如,草、树叶、铁丝网等。如果使用真正的模型,一颗边缘参差不齐的小草可能就要消耗掉几百个多边形;然而采用透明纹理,可以只用2~3个多边形就解决了。
然而,当使用这种有半透明信息的纹理时候,它的不透明和透明部分的边界线上,常常会出现难看的锯齿(alphaTest)。采用半透明混合技术(alphaBlend)可以解决这个问题,但是它需要把场景中所有这类物体按照由远到近的顺序来绘制,才能保证它们的遮挡关系是正确的,这会给CPU带来很大的压力,并不可取。在以前版本的DirectX中,alpha测试和混合简直就是图形程序员的噩梦。(如果使用alphaTest + alphaBlend需要两个渲染两个Pass)
在DirectX 10中,使用了一种新的技术叫做Alpha to coverage。使用这种技术,在透明和不透明交界处的纹理像素会被进行多极取样(Multi-sample),达到抗锯齿的效果。这就在不引入大的性能开销的情况下简单并有效地解决了这个问题。室外场景的游戏将大大受益于这种技术,树叶、铁丝网、草的边缘将会更加柔和、圆滑。
相关资料:
http://www.zwqxin.com/archives/opengl/talk-about-alpha-to-coverage.html
http://www.zhihu.com/question/25822656
http://www.zhihu.com/question/35725024
最新文章
- SharePoint2016安装的过程的”Microsoft.SharePoint.Upgrade.SPUpgradeException”错误解决方法
- OC 协议
- winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法
- Thinkphp源码分析系列(六)–路由机制
- target=";_blank";
- css实现阴影效果(box-shadow)
- 关于在TP的各类标签中的注意事项
- SpringMVC注解@RequestParam全面解析
- hdu 4442
- Template 模式
- Win7下部署 .NET MVC网站 之 HTTP错误 403.14-Forbidden 解决方法
- 自定义不等高的cell-(storyboard)
- hdu4717 The Moving Points(二分做法)
- Bat再次小试
- vue.js移动端app实战1:初始配置
- 第六章——决策树(Decision Trees)
- 使用xUnit为.net core程序进行单元测试 -- Assert
- java 各种数据类型判断为空
- 5th,Python购物车模拟
- Django应用:学习日志网站