generated at
Mesh shader
>各種シェーダ群を必要に応じて使うことができ,逆に使わないこともできる。
>また,GPGPU(Compute Shader)的に,複数の子スレッドを起動して,その結果を親スレッドが回収するような処理系も実現可能だ。
>
具体的な用途
歴史
>Microsoftは,DirectXの拡張と歩調を合わせるように,ジオメトリパイプラインにも機能を追加していった。たとえば,以下のようなものがある。
> DirectX 10:「ジオメトリシェーダ」,ポリゴンの増減を行う
> DirectX 11:「テッセレーションステージ」(ハルシェーダ,テッセレータ,ドメインシェーダをまとめた名称),プログラマブルにポリゴンを分割加工できる
> しかし,追加した機能同士が互いに似ているので,ゲームグラフィックス開発者からは使いどころが分かりにくかった。そのうえ実効性能も今ひとつだったため,多くの開発者にそっぽを向かれてしまう。
>この状況を打開すべく,2017年の「Radeon RX Vega」発表時にAMDは,新しいジオメトリパイプラインとして「Primitive Shader」を発表した
>そして2018年になると,GeForce RTX 20シリーズ発表時にNVIDIAは,「Mesh Shader」を発表した。新ジオメトリパイプラインの標準規格戦争だ。
>経緯は省略するが,Microsoftは,2020年春に発表した「DirectX 12 Ultimate」でMesh Shaderを正式採用して,業界的には一丸となってMesh Shader推進で行くことが確定した。
>ソニー・インタラクティブエンタテインメントが,PS5でPrimitive Shaderを採用すると表明したことで(関連記事),足並みが若干乱れはしたものの,AMDも,2020年発表の「Radeon RX 6000」シリーズでMesh Shaderへの対応を表明。これにより,Primitive Shaderはお蔵入りとなった。