「可変レートシェーディング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''可変レートシェーディング''' | + | '''可変レートシェーディング'''(英語:Variable Rate Shading、略称:VRS)とは、あまり目立たないであろう部分の[[シェーディング]]処理を大雑把に行う機能のことである。 |
− | これにより[[GPU]] | + | これにより[[GPU]]の負荷が下がるのでその分を[[フレームレート]]の向上に割り振ることができる。 |
== 概要 == | == 概要 == | ||
− | |||
− | |||
VRSでは[[ピクセルシェーダー]]の呼び出しを全[[ピクセル]]に対して行うのではなく、 | VRSでは[[ピクセルシェーダー]]の呼び出しを全[[ピクセル]]に対して行うのではなく、 | ||
− | + | 目立たない部分は「2x2ピクセル」や「4x4ピクセル」に1回だけ処理を行う。 | |
1フレームの描画に際して[[ピクセルシェーダー]]を何回も呼び出す場面において、 | 1フレームの描画に際して[[ピクセルシェーダー]]を何回も呼び出す場面において、 | ||
13行目: | 11行目: | ||
後続の[[ピクセルシェーダー]]で手抜きができるというものである。 | 後続の[[ピクセルシェーダー]]で手抜きができるというものである。 | ||
− | + | そしてコマンドリストに「このピクセルシェーダーは手抜きしても良いフラグ」を設定しておくと、[[GPU]]が負荷に応じて手抜きしてくれる。 | |
粗ピクセルサイズを設定する際の条件は様々なものが考案されている。 | 粗ピクセルサイズを設定する際の条件は様々なものが考案されている。 | ||
* カメラからの距離(深度情報を利用、もっとも一般的な方法) | * カメラからの距離(深度情報を利用、もっとも一般的な方法) | ||
* [[モーションブラー]]の有無(ブラーがかかった部分の画質はそんなに重要ではない) | * [[モーションブラー]]の有無(ブラーがかかった部分の画質はそんなに重要ではない) | ||
− | |||
* エッジではない部分(低性能[[GPU]]の場合など) | * エッジではない部分(低性能[[GPU]]の場合など) | ||
* 問答無用で全画面([[コマ落ち]]しそうな場合など) | * 問答無用で全画面([[コマ落ち]]しそうな場合など) | ||
− | == | + | == 類似品 == |
− | + | VRSと同様の機能は[[NVIDIA]]の「[[Adaptive Shading]]」が先行していた。 | |
− | + | また実装に関しては[[Vulkan]]が先行していた。 | |
− | |||
− | |||
− | |||
− | + | これを[[Microsoft]]がDirectX 12に取り込んだのがVRSであり、 | |
− | + | 宗教上の理由を回避して[[AMD]]なども使えるようになった。 |