「タイルベースレンダリング」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) |
||
| 24行目: | 24行目: | ||
一方、メモリ帯域に関しては今でも厳しい。 [[パソコン]]向けの[[ビデオカード]]では「やれ[[GDDR]]だ」「やれ[[HBM]]だ」と力技で解決が試みられているが、 [[スマ]]ホはバカみたいに遅い[[LPDDR]]がいまだに主流なので問題になることが多い。 | 一方、メモリ帯域に関しては今でも厳しい。 [[パソコン]]向けの[[ビデオカード]]では「やれ[[GDDR]]だ」「やれ[[HBM]]だ」と力技で解決が試みられているが、 [[スマ]]ホはバカみたいに遅い[[LPDDR]]がいまだに主流なので問題になることが多い。 | ||
==利点:タイルを再利用できる== | |||
シーンの「動きが小さい」と判断した場合、クソ真面目に描画せず、前フレームで生成したタイルに[[アフィン変換]]をかけたものを出力することで手抜きができる。近似画像であり当然ながら画質は微妙になるが描画負荷は大幅に下る。シーンの動きが大きい場合は残念なことになる。 | |||
==欠点:オーバードローが発生する== | ==欠点:オーバードローが発生する== | ||
| 30行目: | 33行目: | ||
以下の例では1[[ポリゴン]]を描画するのに灰色の4タイルそれぞれで[[シェーダー]]が動いてしまう。 | 以下の例では1[[ポリゴン]]を描画するのに灰色の4タイルそれぞれで[[シェーダー]]が動いてしまう。 | ||
[[ファイル:Tiled base rendering 2.png|none]] | [[ファイル:Tiled base rendering 2.png|none]] | ||
==欠点:タイル割当が重い== | |||
タイルベースレンダリングでは以下のような工程になる。 | |||
# バーテックスシェーダー実行 | |||
# ポリゴンをタイルに割り当てる | |||
# タイル単位でピクセルシェーダー実行 | |||
この処理はシーン内のポリゴン数が増えれば増えるほど重くなる。 | |||
[[PowerVR]]が登場したころの[[ローポリゴン]]が主流の時代には問題にならなかったが、 | |||
ポリゴン数が激増すると、この処理は無視できないほど高負荷になった。 | |||
== 関連項目 == | == 関連項目 == | ||
* [[フォワードレンダリング]] | * [[フォワードレンダリング]] | ||
* [[遅延レンダリング]] | * [[遅延レンダリング]] | ||