NVIDIA-RTX/RTXNTC
NVIDIA Neural Texture Compression SDK
何を解決するか
NTCは、PBR(物理ベースレンダリング)マテリアルテクスチャの高メモリ消費と帯域使用量の問題を解決します。従来のブロック圧縮で各テクスチャチャンネル(アルベド、ノーマル、粗さなど)を個別に圧縮するのではなく、NTCは複数の相関するテクスチャチャンネルを1つのニューラルテクスチャセットにまとめて圧縮することで、VRAMの使用量とPCI-Eトラフィックを大幅に削減します。
動作方法
圧縮時に、テクスチャデータは小さなニューラルネットワーク(マルチレイヤーパーセプトロンまたはMLPデコーダ)の重みと、潜在変数のテンソルに変換されます。テクスチャを再構成するには、これらの潜在変数をサンプリングし、デコーダを通過させます。
ハードウェアやパフォーマンス要件に応じて、3つのデコードモードをサポートしています:
- ロード時の推論:ゲームやマップのロード時に、テクスチャがデコードされ、標準のブロック圧縮形式(BCn)に変換されます。
- サンプリング時の推論:テクスチャがリアルタイムでシェーダ内(ピクセルまたはレイトレーシングヒットシェーダ)でデコードされます。
- フィードバック時の推論:Sampler Feedbackを使用して、現在のビューに必要な特定のテクスチャタイルのみをデコードします。
このプロセスを加速するために、AdaおよびBlackwellクラスのGPUで「コオペラティブベクトル」拡張機能(Vulkan VK_NV_cooperative_vector および DX12 LinAlg)を利用しています。
対象ユーザー
このSDKは、3Dレンダリングパイプラインにおける高品質マテリアルのメモリ使用量を削減しつつ、標準のブロック圧縮と同等の視覚品質を維持したいグラフィックスエンジニアやゲーム開発者向けに設計されています。
主な特徴
- マルチチャンネル圧縮:最大16チャンネルのテクスチャを1セットに圧縮可能。
- 品質調整可能:ユーザーが「潜在形状(Latent Shapes)」を選択することで、メモリ使用量と画像品質のバランスを調整できる定常ビットレート方式を提供。
- ハードウェア加速:現代のNVIDIA GPUで2〜4倍の高速推論を実現するコオペラティブベクトル拡張機能を活用。
- 柔軟な統合:C++ライブラリ(
LibNTC)、コマンドラインツール(ntc-cli)、および自動化用Pythonモジュールを含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト