孤岛危机吧 关注:47,348贴子:1,344,806
  • 43回复贴,共1

mesh shader到底是干啥的

只看楼主收藏回复

据说这个才是真正的次世代杀手锏技术,比光追有用多了?
哪位大佬来科普一下


1楼2020-03-22 21:44回复
    通俗地说就是一个可以直接向光栅器输出三角形的CS,因为强迫程序员用通用计算的group thread编程模型写代码,更贴近底层硬件,传统VS管线不够高效,例如在不同stage间传输数据时经常需要反复读写显存,对静态物体依然要重复扫描index buffer,农企早期的primitive shader也会做些差不多的事情,比方说靠编译器把几个shader stage合并,减少多余的读写。
    有了mesh shader后实现GPU driven pipeline的那些功能会方便很多(不如说mesh shader其实就是对GDRP的直接支持),最重要的就是triangle/cluster culling,这在mesh shader下实现起来非常方便,速度也更快,因为不需要反复读取显存。手写曲面细分的效率也会高很多,DX11的固定管线曲面细分并不高效,有些游戏实现细分时会把hull shader移到CS上做,比方说COD。


    IP属地:上海3楼2020-03-25 22:41
    收起回复
      广告
      立即查看
      doom eternal好像用到了类似的技术,昨天看数毛社视频里面说的,除非我听错了


      IP属地:辽宁来自Android客户端4楼2020-03-26 07:03
      收起回复
        简单的说就是让显卡干些CPU干的活,让cpu更有能力干别的


        IP属地:福建5楼2020-03-26 14:03
        收起回复
          mesh shader和CPU没有直接关系,节约CPU是indirect draw的事情,mesh shader只要是改进传统VS管线效率低下的问题。
          遮挡剔除不是任何时候都有用的,开放世界自然场景遮挡剔除基本就没有效果,但用mesh shader重构管线后依然会更快


          IP属地:上海6楼2020-03-26 15:10
          收起回复
            然后有这玩意儿2080TI提升100%?


            IP属地:上海来自Android客户端7楼2020-03-27 10:09
            收起回复
              不能async估计还不如直接cs


              IP属地:浙江来自Android客户端8楼2020-12-13 08:31
              回复