前回、「レイトレーシング(レイトレ)とパストレーシング(パストレ)」の違いを歌にしました。結構な反響があり、嬉しい限りです。
レイトレとパストレの違いをイメージできていない人は、是非、本連載「歌うテックニュース」の前回をご覧下さい。
さて、タイミング良く、今春、パストレ対応のゲームが日本のゲーム開発会社から2作品も発売されたのをご存じですか?
パストレ対応ゲーム……というと「Cyberpunk 2077」を思い出す人が多いと思いますが、このゲームの発売日は2020年12月で、パストレ対応になったのは2023年4月のパッチ1.62の提供後です。
けっこう時間がかかっていますよね。実は、このタイミングでリリースされたことには、ある事実が関係しています。今回はそんな話です。
そして今回のテックにユースソングは、この「ある事実」をモチーフにしたラップソングになっています。
突然、発表されたトンデモ・パストレ・アルゴリズム「ReSTIR法」
本連載では、パストレは「特に目的を持たずに、1ピクセルあたりから膨大な数のレイ達を3Dシーン内に放ち、そのレイ達が持ち帰った情報を集約して描画結果を得るもの」という感じのかなりざっくりした解説をしました。

▲レイトレとパストレの違い
そもそも、2026年5月時点で現行GPUでは最高性能クラスのGeForce RTX 5090でも、フルHD解像度の60fpsのそれなりのリアル系シーンの描画を行うとなると、1ピクセルあたり、二桁のレイが飛ばせるがどうかといったところ。とてもパストレをゲームグラフィックスに導入するというのは「無謀だろ」と言われてきたのでした。
しかし、状況は突然変わります。コペルニクス的転回アルゴリズム「ReSTIR法」が発表されたからです。
ReSTIRは「Reservoir Spatio-Temporal Importance Resampling」の略記です。和訳すると「リザーバーによる時空間的重要度リサンプリング」となります。
発表自体は2020年のことになります。発表したのは、一時期、日本の非テック系メディアから「謎の半導体企業」と呼ばれてしまったNVIDIAの研究チームです。
このReSTIR法は、彼らのGeForceブランドのGPUアーキテクチャに特化したものではなく、どんなGPUでも実装できる、普通のソフトウェア的なアルゴリズムです。ですから、AMDやIntelのGPUでも活用できます。
パストレの概念は、1986年にカリフォルニア工科大学のJim(James) Kajiya氏が発表した論文「The Rendering Equation」(レンダリング方程式)が起点になっていると言われています。Kajiyaといえば、ゲームグラフィックスに詳しい人ですと「Kajiya-Kayモデル」を思い出す人も多いことでしょう。
これは、毛髪や毛皮のような、異方性反射を伴う繊維系マテリアルのライティング理論を体系化したもので、今でもゲームグラフィックスでは普通に使われているものです。
パストレの概念が発表されたのが今から40年前。そこから34年経ったタイミングで、NVIDIAが凄いアルゴリズムを発明したのです。
筆者も、このアルゴリズムを理解したとき「これ、本当に人間が考えたのかな?」と思ったほど、ちょっと賢すぎるのです。もしかしたら、NVIDIAのことだから、AIと共同開発したアルゴリズムなんじゃないか、と思ったりしなかったり……。
とにかく、このとんでもないアルゴリズムであるReSTIR法は、現在のパストレ対応ゲームグラフィックスのほぼ全てに強い影響を及ぼしています。
▲動画本編
ReSTIR法のどこがどうトンデモなのか
ReSTIR法は以下のような着想から始まります。
そもそも「パストレでは、たくさんのレイを"ランダム"に、放射状に放つ」というのが無謀そうに思えるぞ。
しかし、ちょっと待て。結局、CGというのは光が当たった箇所に色が付くのだから、いくらなんでも光源がないところにレイを何本、放ったところで無駄撃ちだ。
どうせレイを放つならば、影響力の強い光源にレイを放つべきだ。そうすれば、無駄射ちレイを極限まで減らせるのではないか。
頭のいい人達はそう考えたのです。

▲ReSTIR法の魔法
ReSTIR法では、実際に、各ピクセルからレイを放つ前に、各ピクセルにおいて「有望な光源選挙」を開催することから始まります。
選挙には候補者が必要です。着目している各ピクセルにおける、光源選挙への立候補者を決めるための予備選を行います。
この予備選への立候補者の取り決めにはいろんな方法があり、最も適当なのはランダムで行うものですが、もう少しまともそうなのが、そのピクセル位置までの距離(近い光源ほど有力)や、輝度の強さ(明るい光源ほど有力)、照射面積の大きさ(大きいほど有力)といった方針で決める方法です。
「有望な光源を予想屋に聞く」的なパス・ガイディング法(ヒストグラム的なもの)を導入する場合もありますが、ゲーム向けで、これまでを導入しているものは少なそうです。

▲ReSTIR法の基本方針

▲光源の有力度とReservoir Bufferの仕様例
実際に、予備選への立候補者数は16個とか32個とかの規模で選ばれます。この予備選への当選枠はたった1つの光源です。では、この選挙はどうやって行うのでしょうか。
実際の我が国の選挙において、必ずしも有力候補が勝つわけではありませんよね。なので、ここでランダム要素を持ち込みます。
光各ピクセルにおいて、有望な光源を、たとえば16個、選んだら、円盤の中心角の360度を、各光源の有力度に応じて分割します。たとえば有力度が40%だったら、当選確率は360°×40%=144°分の当選枠となります。
16個分の光源について、円盤に有力度に応じた当選枠が描けたらこれを回してダーツを投げます。ダーツが当たった枠の光源候補が当選となります。

▲ReSTIR法の要、ルーレット選挙法とは
この、各ピクセルごとの、予備選結果の保存先はReservoir Bufferと呼びます。
その後、選挙は本戦を迎えます。
今度は、現在フレームのReservoir Bufferの各ピクセルの予備選勝者と、このピクセル位置に対応する、過去フレームのReservoir Bufferの本戦選挙勝者と戦わせます。そう、同じようなルーレット選挙を行います。
その結果を現在フレームのReservoir Bufferに更新します。現在フレームのReservoir Bufferは、この時点で「過去の選挙勝者と戦って勝った暫定勝者」が格納されている状態です。
本戦の第二戦は、この各ピクセルにおいて、周辺ピクセルの暫定勝者同士での選挙を行います。この時、各ピクセルにて戦わせられる暫定勝者の数はそれほど多くはないです(一桁台。たとえば5個)。
ちなみに、隣接ピクセル同士の戦いで負けてしまった候補光源達は、別のピクセルで行われる隣接ピクセル同士の戦いに何度も参加できますが、選ばれるかどうかは、ランダムとなっています。
このような処理を繰り返して、現在フレームのReservoir Buffer上の全ピクセルでルーレット選挙が完了したら、次は実際にレイを放ちます。放つレイの本数は一本だけ。その発射先は各ピクセルの選挙に勝ち残った1つの候補光源に……です。
いくら選挙で最強の光源が選ばれても、その光源との間に壁があったら真っ暗(影)ですよね。最後に放つ1本のレイは「このピクセルに本当に光が届いているのか」を確認するための最終チェックに相当します。

▲ReSTIRの基本概念図(おさらい)
このアルゴリズムの凄いところは、パストレにもかかわらず、各ピクセルにおいて、実際に放つレイの本数はたった一本で済むところです。つまり、GPUに負荷の掛かるレイトレ処理は、わずか1レイで済むことです。
幾度も行ったルーレット選挙で落選した候補光源たちは「ランダムに無数に放ったレイ達が到達した先」と見なし、「描画結果として役に立ったのは候補光源選挙の勝者へ放ったレイのみでした」という結論に帰着させているわけです。
割り切り方が大胆ですが、この仮説が正しいとすれば、相当なレイ数を放ったものに近い結果が得られることになります。
予備選で候補光源が16個。隣接ピクセル選では5個が選ばれましたが、この5候補達は同じように16候補から勝ち残ったわけですから、各ピクセルの勝者は、16候補×16候補×6ピクセル(自分+5候補)=1536候補から勝ち残ったことに相当します。
過去フレームの選挙勝者も同様に1536候補の勝者となりますから、最終照射は、1536候補×2フレーム分=3072候補と戦った勝者となります。つまり、1レイしか放っていないのに、3072本分のレイを放った結果に近いもの……とみなす感じです。
まあ、実際には、同じ光源候補が再戦に挑んできている場合もありますから「3072本の分のレイに相当」という部分は、ここはやや盛った感じもありますことはご容赦を。
なお、ここまでの解説は、直接光のパストレのアルゴリズム「ReSTIR DI」のものとなり、間接光を司るReSTIR法は「ReSTIR GI」と呼ばれます。これについては、発射するレイが複数本になるため複雑度は増すことになります。
誌面の都合があるので深掘りはしませんが、取り扱い対象物がReSTIR DIの「光源候補」からReSTIR GIでは「間接光の経路候補」へと変わります。しかし、要が「ルーレット選挙」であることは共通しています。

▼ReSTIR GIの概念図
「ReSTIR My Love」と架空バンドの設定について
さて、前回、「レイトレやパストレは恋愛だ」という唄をお届けしたわけですから、今回のReSTIR法は、凄く賢い、理系型の効率重視の恋愛(!?)に喩えることができると思いませんか?
というわけで、今回の唄は、失恋した女性が主人公です。
彼女は「付き合っては振られ…を繰り返していては非効率だわ」と考えるに至ってマッチングアプリに手を出す…というストーリーになっています。「マッチングアプリで、自分にとって魅力的な異性を事前チェックすること」…は、まさにReSTIR法はないですか!(笑)
そして、彼女は、ReSTIR法に倣って、「過去の彼氏」(過去フレーム)と照らし合わせてチェック、そして、女友達(隣接ピクセル)に紹介してもらった異性も入念にチェックし、万全の準備を経てデートに乗り出します。さて、彼女は運命の人に出会えるのでしょうか…そんな感じで作詞しています。
曲名は「ReSTIR My Love」です。

冒頭のReSTIRは、今回の主題であるReSTIR法をそのまま頭に盛ってきた感じですが、英単語の「STIR」は「動かす」とか「掻きたてる」の意味があり、頭に「Re」が付くと「再び」という意味が付くので、英語ニュアンス的には「私の恋を再び動かして」とか、さらに意訳を発展させれば「私の恋を呼び覚まして」みたいな感じになりますでしょうか。
前回のロマンチックな「レイトレとパストレの唄」とは違って、今回は陽気なラップ調超速ソングに仕立てました。一時期よく見られた日本語の歌詞と、英語の歌詞が、交互に入るタイプのラップ系ポップス曲です。
ちょっと前から、唄ごとに架空バンドを設定していますが(第5回は「SKELTON & CANDY WRAPPERS」)、今回の架空バンドは、女性4人組構成で、一人、謎のGPU仮面男がDJ&キーボーディストがサポートに加わった……という設定になっています。
このGPU仮面男は、その後の筆者の架空バンド作品には、たびたび顔を出す、筆者の化身のようなキャラクターとなっていきます。

主役の女性ボーカリスト兼ラッパーは、ギリシャ人と日本人のハーフという設定で、浮世絵スタイルのスカジャンを着ています。なぜギリシャ人ハーフにしたかというと、彼女の名前を今回、Reservoirとしたからです。
もちろん、この名前は、ReSTIR法のReservoir Bufferから取っています。Reservoirは「貯水池」「貯蔵器」という意味で、カタカナではリザヴォアに近い発音されます。自分の中でギリシャ語は難しいという印象があったので、そこから適当に付けただけですが、エキゾチックで気に入っています。

ベーシストは元気で可愛い黒人女性、ドラマーはヒスパニック系でワイルドな女性という設定です。


個人的にお気に入りは、日本人の設定ですが、クールでつり目なギタリストで、女スナイパーをイメージした衣装を着ています。主人公のReservoirとは仲良しという設定。なお、主人公のReservoir以外に名前はありません。
バンド名は完全に後付けですが「Monte Carlo Stochastics」(和訳:モンテカルロ確率論)です。CG技術用語に詳しい人がニヤリとするかもしれません。

映像の背景には、いつも通り、ReSTIR法を解説する際に用いられた図解が出てきますが、前半は、上で少し触れた、主人公Reservoirちゃんの恋愛模様をモチーフにした、グラフィックノベル風の漫画が展開します。
ストーリーラインは筆者が書きましたが、作画はGeminiのNano Bananaに生成してもらっています。Nano Bananaは、漫画や図解を生成する際、ちゃんと「日本語にしてね」とお願いしておかないと、デフォルトでは英語で出力してくることが多いでが、まさに今回もそう。
ただ、今回は、架空バンドのバンドメンバーが国際色豊かでイメージに合うと思って、そのままにしてあります。グラフィックノベルのセリフも、そして歌詞も、中高生レベルの英語なので分かりやすいかと思います。

▲グラフィックノベル
唯一難しいと思われるのは、作中のセリフの「Eligible Bachelors」でしょうか。これは直訳的な「望ましい学士号」ではありません。「いい男」と意訳できた人は、ほぼ正解ですが、実際には婚活用語の「優良物件」的な俗語ニュアンスです(笑)。
今回あたりから少しだけAI生成した動画を入れ込んでいますが、これはGeminiのVeo 3で生成しています。グラフィックノベルのテイストをまずまず維持したまま動画にできるのは大したものだと感心しました。
ということで、次回は、冒頭で触れた「今春、日本のゲーム開発企業から発売されたパストレ対応のゲーム2作品」に深く関連した歌になります。お楽しみに!










