DiRT2 DirectX 11 Technology

 

http://www.gdcvault.com/free/category/280/conference/

codemaster真是不错的。

之前ps3上的dirt2的品质着实让我吓了一跳。

 

这个文章从engineering角度来展示了dx11,虽然tesselation炒得是比较热的,可能这个和玩家比较容易介绍有关,但是我觉得真正dx11变态的地方是direct shader, local store data这些带来更大算法空间的部分。

 

这些必将很大程度上革新gpu编程,同时也会拖缓larabee的到来,囧。


直接进入主题:

 

1,abstract rendering layer可以抽象的一些资源,一般都是抽象出跨平台(dx version)的一票api。

可抽象的东西可以覆盖如下部分:

  • buffers
  • shaders
  • textures
  • render states
  • rendering call

 

2,使用hash来manage state----这个的确是不错,这样系统内部资源就只用一份就好,然后用hash值来操作。

 

 


 

3, tesselation部分:

  • pn-triangle来做细分多边形
  • normalmap来做displacement map来进一步增加细节度

tesselation部分带入lod,根据camera距离来确定tesselation的factor。

而且人物的skinning在cpu上做----觉得也是比较合理的,否则1k到10k的triangle,vertex shader skinning多做太多计算了,skinning的index和weight也占用太多memory。

 

原本tesselation(progressive mesh)都是cpu做的,gpu发展发展就自己来处理了,呵呵。

 

 


 

4, cloth tesselation

这部分有点意思,cloth在cpu端做cloth simulation没问题。

还加了一个scrolling normal map,这样风吹得时候就会有褶皱滚动的效果,nice!

pn-triangle tesselation+displacement map.

 

 


 

5, water

dx9下面只有normalmap的变化。

dx11下变成displacement map,效果当然赞的多,水直接能漫过轮胎了。

 

 


 

6, 性能方面

dx11和console某些方面走类似路线,就是不是单纯要消耗更多资源,而是提供更多的硬件级的算法空间,可以在同样计算能力下,通过算法的使用,取得更好的performance。

 

6.1 compute shader postprocess

看到这里无语了,太tmd high了,dx11快来吧。

 

计算的时候是用local data store,在compute shader里面做postprocess,这样sample的texture就放在local store里面,可以大幅度减少sample的次数和cache performance。

对比性能:

 

6.2 shadow和hdao,

知道有这个事情就好,到时候查下api就够了

 

6.3 multithreading

最大的优势就是loading快了很多,可以不同thread操作资源了。

 

 


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值