通俗地说就是一个可以直接向光栅器输出三角形的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。
有了mesh shader后实现GPU driven pipeline的那些功能会方便很多(不如说mesh shader其实就是对GDRP的直接支持),最重要的就是triangle/cluster culling,这在mesh shader下实现起来非常方便,速度也更快,因为不需要反复读取显存。手写曲面细分的效率也会高很多,DX11的固定管线曲面细分并不高效,有些游戏实现细分时会把hull shader移到CS上做,比方说COD。