メインコンテンツへスキップ
Doom 1.jpg

Doom 1にDLSS 5を導入:1993年の名作にニューラルレンダリングを強制実装

Doom 3 BFG EditionとRBDOOM-3-BFG(DX12)を介し、偽のモーションベクトル、RenoDX、NVIDIAのニューラルレンダリングライブラリを用いてDoom 1でDLSS 5を動作させる技術解説。

執筆者
Friolt
更新日
読了時間
6分
トピック
ニュース
なぜDoomを先にDX12ゲーム化する必要があるのか
広告

Doom 1でDLSS 5を動作させるには、Doom 3 BFG EditionとRBDOOM-3-BFGソースポートを介してDirectX 12環境へ移行し、外部モーションベクターを供給した上で、ReShadeとRenoDXをインストールし、さらに公式のNVIDIAニューラルレンダリングライブラリを導入する必要があります。Core Ultra 9 275HXを搭載したRTX 5090モバイル環境での結果は、約10 fpsのフレームレートと、フレームごとに新しい顔が生えてくるインプ(敵キャラクター)という代物です。

DoomでDLSS 5を動かす方法という問いに対する正直な答えは、AIモデルが「これは現代のゲームである」と誤認するまで、3層のソフトウェアで互いに騙し合うというものです。DOS版のDoomにはDirectXが一切存在しないため、ポートによってDX環境が提供されない限り、何もフック(介入)できません。

なぜDoomを先にDX12ゲーム化する必要があるのか

ニューラルパスは、DirectX 11および12のReShadeフック上で動作するRenoDXを通じて接続されます。DOSタイトルでは通常、DOSBox上でdgVoodooを使用してDX11を擬似的に再現するルートが一般的ですが、Doomは贅沢なルート、つまりネイティブなDoom 1 DX12レンダラーを使用します。これはid Softwareが2012年の再販版ですでにオリジナルをラップ(内包)しているためです。

Doom 3 BFG EditionのクラシックDoomバンドルには、Doom 3に加えてThe Ultimate DoomとDoom IIが同梱されています。バージョン1.5.0では、NVIDIA NVRHIを介してOpenGLからDX12およびVulkanへ切り替えられたため、RBDOOM-3-BFG DX12バックエンドがクラシックゲームもレンダリングします。ラッパーもDOSBoxも、dgVoodooのウォーターマークも不要です。

必要なもの

コンポーネント役割入手先
Doom 3 BFG EditionDoom 1のデータとBFGベースフォルダを提供SteamまたはGOG
RBDOOM-3-BFG 1.5.0以降OpenGLレンダラーをDX12に置換ModDBまたはGitHub
モーションベクターブリッジDoomが本来持たない時間軸データを生成Worst Guides Everファイルパック
アドオン対応版ReShadeその他すべての要素を注入reshade.me
RenoDXニューラルレンダリングアドオンDLSS 5パネルとスライダーを追加RenoDXプロジェクト
NVIDIAニューラルレンダリングライブラリモデル本体NVIDIA公式リリース
RTX 50シリーズGPU上記すべてをフレームレートで支払う対価あなたの財布

手順

  1. Doom 3 BFG Editionをインストールし、一度バニラ状態で起動してベースフォルダを作成します。
  2. 最新のRBDOOM-3-BFGリリースをBFG Editionフォルダに展開し、元の実行ファイルではなくRBDoom3BFG.exeを起動します。
  3. もしポートがVulkanを選択した場合は、起動オプションに+set r_graphicsAPI dx12を追加します。
  4. メインメニューからThe Ultimate Doomを選択し、1993年のゲームがDirectX 12で動作していることを受け入れます。
  5. モーションベクターブリッジをRBDoom3BFG.exeと同じフォルダにコピーします。
  6. RBDoom3BFG.exeに対してReShadeインストーラーを実行し、DirectX 12を選択してアドオンサポートにチェックを入れます。
  7. RenoDXアドオンとニューラルレンダリングライブラリを同じフォルダに配置します。
  8. ゲームを起動し、Homeキーを押してAdd-onsタブを開き、DLSS 5 Neural Renderingパネルを有効にします。

このポートでスキップ可能なDOSBoxやdgVoodooルートを含む、その他のDirectXバージョンについては、DLSS 5完全セットアップ手順で解説されています。

Doomが持たなかったモーションベクター

クラシックDoomは320×200のソフトウェアフレームバッファを描画し、それを画面に合わせて引き伸ばします。ピクセルごとのモーションデータは一切生成されないため、DLSS 5モーションベクターは完全にブリッジファイルに依存しており、フレーム間でピクセルがどう動いたかを推測しています。推測ということは、素早い旋回時にゴーストが発生することを意味し、Doomは旋回ばかりのゲームであるため、この問題は顕著です。

ライブラリとアドオン

モデル本体はnvngx_dlssnr.dllに格納されています。NVIDIAは9月3日にNBA 2K27と共にDLSS 5を公式リリースしており、このファイルはGame Readyドライバーパッケージに含まれています。見知らぬ誰かが先週リネームしたアーカイブではなく、公式パッケージから入手してください。

RenoDX DLSS 5パネルを開くと、DoomはDoomらしさを失います。重要なコントロールは以下の通りです。

コントロールDoomへの影響
Injection pointOutputが最もダメージが少なく、render stageはスプライトを熱心に再描画します
Passes x1スプライトはモデルにとって情報が少ないため、ほとんど変化しません
Passes x2 to x4すべてを再描画し、単一フレームをサンプリングするため、ハルシネーション(幻覚)が増幅されます
PresetDefaultは緑寄り、Naturalは青寄り、Cinematicは高強度で紫寄りに変化します
NR Intensityトグルの代わりに比較用として使用してください
F6エフェクトの切り替え。押すたびに約1GBのVRAMリークが発生します

実際に起こること

初期テストでは、Doom 2のx1設定は変化なしに見えましたが、x2からx4では全く別の何かに変貌しました。Doom 1も同じエンジンを共有しているため同様の挙動を示します。スプライトは平坦なビルボードであり、モデルはジオメトリを期待しているため、詳細が欠けている場所には勝手に顔を作り出します。

DLSS 5を古いゲームで使うという試みの結論は厳しいものです。DX11タイトルはベクターを正しく配線しても崩壊し、Doomがそれを回避できているのはRBDOOMが真のDX12パスを提供しているからに過ぎません。それでも、DLSSパイプラインが通常必要とするフレーム履歴が不足しています。

パフォーマンス

モードRTX 5090 Mobile + Core Ultra 9 275HXでの結果
ネイティブポート(ニューラルパスなし)1993年のゲームに相応しい数百fps
DLSS 5, x1, output injection視覚的な変化はほぼ皆無で約10 fps
DLSS 5, x2 to x4, render stage完全な再描画が行われるが約10 fps以下

ここでのDLSS 5によるパフォーマンス低下はDoomのせいではなく、Wolfenstein 3DでもCyberpunk 2077でも同じコストがかかるモデルそのものの負荷です。DLSS 5対応のRTX 5090搭載ノートPCでこれを試す場合は、バッテリーが実験に耐えられないため、必ず電源に接続した状態で行ってください。

トラブルシューティング

  • ReShadeがVulkan向けにインストールされているとパネルが表示されません。DirectX 12向けに再インストールしてください。
  • ゲーム内のアンチエイリアスが有効だとエフェクトがグレーアウトします。RBDOOM設定で無効にしてください。
  • Enable Upscalingにチェックが入っていると画面がちらつきます。チェックを外してください。
  • 切り替えを繰り返すとVRAMリークでクラッシュします。再起動してIntensityスライダーを使用してください。
  • x1出力で何も変化しないのはバグではなく、想定された挙動です。

結論

動作はしますが、見た目は醜く、フレームレートの95パーセントを失います。訓練不足のモデルがピクセルアートに何をするかという技術デモとしては完璧ですが、Doomをプレイする手段としては、他のあらゆる方法を推奨します。

広告