3Dモデルの見た目は変わらず、データサイズを3分の1に。インフィニットループ、自社ブログで頂点レイアウトについて解説

2024.05.13
ニュース3DCG
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • インフィニットループが『【D3D12】頂点バッファを品質そのまま1/3にサイズ削減』と題した記事を公開
  • データの符号化やパディング余剰領域への詰め込みなどを行い、合計サイズを48バイトから16バイトへ削減
  • 画像を用いた比較では、削減後のデータも見た目に差がほぼない

インフィニットループは、『【D3D12】頂点バッファを品質そのまま1/3にサイズ削減』と題した記事を、自社の技術ブログにて公開しました。

3DCGにおけるメッシュアセットは、各頂点が座標や法線などの情報を持っています。3Dモデルの頂点数が多いと、データの肥大化やVRAMの圧迫、ランタイムのパフォーマンス低下などを招くおそれがあります。

同記事ではそれらのリスクを防ぐため、Direct3D 12(D3D12)環境における、頂点データを格納するメモリバッファ(頂点バッファ)のサイズ削減について解説されています。

一般的な描画要件を満たしているが、無駄のあるフォーマット(画像はブログ記事より引用)

上記フォーマットから法線やタンジェントの符号化などを行うことで、合計サイズを48バイトの半分に削減できます。

さらに、グラフィックスエンジニア Sebastian Aaltonen氏のX上のポストを参考に、座標の数値を2バイト化し、パディングの都合上現れる余剰領域に法線データを詰め込みます。

これらの改良により、最終的には合計サイズが48バイトから16バイトと3分の1の大きさにできます。

(画像はブログ記事より引用)

また、頂点数が約59万のドーナツ型モデルを実際に描画し、法線やタンジェント、バイタンジェント表示で比較しても、目視では差がほぼなかったことが紹介されています。

右側が16バイトフォーマット、左側が48バイトフォーマット(画像はブログ記事より引用)

記事の最後では、頂点レイアウトはケースバイケースであり、巨大でハイポリゴンなメッシュでは削減により座標の精度が足りないといった問題が起こる可能性などを挙げ、プロジェクトで利用される可能性のある頂点レイアウトが任意に増減することを前提とした対応についても言及しています。

詳細は、同社技術ブログをご確認ください。

インフィニットループ技術ブログ『【D3D12】頂点バッファを品質そのまま1/3にサイズ削減』

関連記事

「ZBrush for iPad」も登場。Maxon、自社製品バンドルの最新バージョン「Maxon One 2025」をリリース
2024.09.12
3DCGソフト「Metasequoia 4」のVRMファイルの入出力・モーフ・ボーンなどが無償で商用利用可能に。Ver4.9.0で「Standard」「EX」プランの価格見直し
2024.09.06
『ゼルダの伝説 ティアーズ オブ ザ キングダム』地上から地底、空へ拡張された広大なハイラル世界を“途切れなくシームレス”に移動させるための技術【CEDEC2024】
2024.09.04
シリコンスタジオ「CEDEC2024」の講演資料を公式サイトで公開。リアルタイム機械学習レンダリングや、StrokeGenの手描き輪郭線生成のアルゴリズムを解説
2024.08.30
Maya・Blender・3ds Maxで「末端のBone」の挙動を比較、DCCツール間でリグデータを受け渡すことはできるのか。リグ専門スタジオ・BACKBONEがブログで検証
2024.08.27
『Marvel’s Spider-Man』でも使われた、ビルの窓から“内側を覗き込む”室内表現はどう作る?インテリアマッピングの基本をトイロジックが解説
2024.08.26

注目記事ランキング

2024.09.14 - 2024.09.21
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

フォワードシェーディング(Forward Shading)
フォワードシェーディング オブジェクト毎にライティングの計算を行い、その計算結果を描画するレンダリング手法。フォワードレンダリングともいう。ディファードシェーディング(Deferred Shading)に比べてポストプロセスの自由度は低いが、(何も物を配置しなかった際にかかる)最低限の描画コストが低く、アンチエイリアス処理などにおいてフォワードシェーディングの方が有効な分野も存在する。
VIEW MORE

Twitterで最新情報を
チェック!