メインメニューを開く

差分

可変レートシェーディング

832 バイト追加, 2023年11月1日 (水) 04:14
'''可変レートシェーディング'''(英語:Variable ([[英語]]:Variable Rate Shading、略称:VRS)とは、あまり目立たないであろう部分の[[シェーディングピクセルシェーダー]]処理を大雑把に行う機能のことである。での処理を大雑把に行う機能のことである。
これにより[[GPU]]の負荷が下がるのでその分をの負荷が下がるので、その分を[[フレームレート]]の向上に割り振ることができる。
== 概要 ==
原文では別名「Coarse Pixel Shading」とも記載されており、直訳すると「粗い[[ピクセルシェーディング]]」となる。こちらの方が意味は伝わりやすいかもしれない。
 
VRSでは[[ピクセルシェーダー]]の呼び出しを全[[ピクセル]]に対して行うのではなく、
目立たない部分は「2x2ピクセル」や「4x4ピクセル」に1回だけ処理を行う。目立たない部分は「2x2[[ピクセル]]」や「4x4[[ピクセル]]」に1回だけ処理を行う。
1フレームの描画に際して[[ピクセルシェーダー]]を何回も呼び出す場面において、
後続の[[ピクセルシェーダー]]で手抜きができるというものである。
そしてコマンドリストに「このピクセルシェーダーは手抜きしても良いフラグ」を設定しておくと、そして[[コマンドリスト]]に「このピクセルシェーダーは手抜きしても良いフラグ」を設定しておくと、[[GPU]]が負荷に応じて手抜きしてくれる。が負荷に応じて適切に手抜きしてくれる。
粗ピクセルサイズを設定する際の条件は様々なものが考案されている。
* カメラからの距離(深度情報を利用、もっとも一般的な方法)
* [[モーションブラー]]の有無(ブラーがかかった部分の画質はそんなに重要ではない)
* [[FPS]]でカメラが回転しているとき(上記のモーションブラー発動中とほぼ同じ)
* エッジではない部分(低性能[[GPU]]の場合など)
* 問答無用で全画面([[コマ落ち]]しそうな場合など)
== 類似品 歴史 ==VRSと同様の機能は2018年に[[NVIDIA]]の「が「[[GeForce RTX 2000シリーズ]]の目玉機能のひとつ」として「NVIDIA Adaptive ShadingShading」という名称で発表した。ただ同製品は「[[ハードウェア]]による[[レイトレーシング]]」が先行していた。」で話題沸騰だったためあまり話題にならなかった。 また実装に関しては実装に関しては[[Vulkan]]が先行していた。 2019年に[[DirectX 12]]の追加機能として採用され、2020年に[[DirectX 12 Ultimate]]で正式採用された。これにより[[AMD]]や[[インテル]]も「[[宗教上の理由]]」を回避して利用できるようになった。
これを== 関連項目 ==* [[Microsoftメッシュシェーディング]]がDirectX 12に取り込んだのがVRSであり、宗教上の理由を回避して= 同時発表された[[AMDテッセレーター]]なども使えるようになった。でも同様の間引き処理をするもの