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

最新文章

  1. SharePoint2016安装的过程的”Microsoft.SharePoint.Upgrade.SPUpgradeException”错误解决方法
  2. OC 协议
  3. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法
  4. Thinkphp源码分析系列(六)–路由机制
  5. target="_blank"
  6. css实现阴影效果(box-shadow)
  7. 关于在TP的各类标签中的注意事项
  8. SpringMVC注解@RequestParam全面解析
  9. hdu 4442
  10. Template 模式
  11. Win7下部署 .NET MVC网站 之 HTTP错误 403.14-Forbidden 解决方法
  12. 自定义不等高的cell-(storyboard)
  13. hdu4717 The Moving Points(二分做法)
  14. Bat再次小试
  15. vue.js移动端app实战1:初始配置
  16. 第六章——决策树(Decision Trees)
  17. 使用xUnit为.net core程序进行单元测试 -- Assert
  18. java 各种数据类型判断为空
  19. 5th,Python购物车模拟
  20. Django应用:学习日志网站

热门文章

  1. wpf 自定义属性的默认值
  2. find算法
  3. Android开发之实现多次点击事件
  4. thinkphp验证码的使用
  5. la 4015
  6. asp.net core 微信公众号支付(扫码支付,H5支付,公众号支付,app支付)之3
  7. js上传图片回显
  8. Evolution ZOJ2853
  9. 为什么NULL指针也能访问成员函数?(但不能访问成员变量)
  10. A+B Problem(再升级)