パストレーシングとレイトレーシングとは何ですか?そして、なぜ彼らはグラフィックスを改善するのですか?

最近、ゲームやグラフィックスのニュースを(gaming and graphics news)少しでも見たことがあれば、最新かつ最高の流行語であるレイトレーシング(ray tracing)を聞いたことがあるでしょう。パストレーシング(path tracing)と呼ばれる似たような言葉を聞いたことがあるかもしれません。そして、プロセスのいずれかが何であるかを完全に理解していないことを完全に許される可能性があります。

簡単な説明は、パストレーシングとレイトレーシング(ray tracing)の両方がグラフィカルな手法であり、計算能力が大幅に向上する代わりに、よりリアルな画像が得られることです。YouTubeには、レイトレーシングの特定の側面を明確に示すだけでなく、システムにかかるストレスを示すMinecraftビデオ(Minecraft video)(YouTube)あり ます。

それがあなたが必要とする唯一の説明であるなら、素晴らしいです!しかし、深く掘り下げて、各手法がどのように機能するのか、GPUハードウェア(GPU hardware)会社がレイトレーシング対応カードに少額の料金を請求している理由を知りたい場合は、読み進めてください。

ラスタライズとコンピュータグラフィックス

コンピューター(computer screen)の画面に表示されている画像は、その画像として始まったわけではありません。ラスターまたはベクター画像(vector image)として始まります。ラスターイメージ(raster image)は、シェーディングされたピクセルのコレクションで構成されます。

ベクター画像(vector image)は数式に基づいているため、画像のサイズをほぼ無期限に大きくすることができます。ベクター画像(vector image)の欠点は、より正確な詳細を実現するのが難しいことです。ベクター(Vector)画像は、必要な色が少ない場合に最適です。

ラスタライズの主な強みは、特にレイトレーシングなどの手法と比較した場合の速度です。GPU 、またはグラフィックスプロセッシングユニットは、小さな形状、ほとんどの場合三角形から3D画像を作成するようにゲームに指示します(GPU)これらの三角形は個々のピクセルに変換され、シェーダーを通過して画面に表示される画像を作成します。

ラスタライズは、処理速度が速いため、長い間ビデオゲームグラフィックスの頼りになるオプションでしたが、現在のテクノロジーが限界にぶつかり始めると、次のレベルに突破するために、より高度な技術が必要になります。そこでレイトレーシングが登場します。

次の画像に示すように、レイト(Ray)レーシングはラスタライズよりもはるかにリアルに見えます。急須(tea pot)とスプーンの反射を見てください 。

レイトレーシングとは何ですか?

表面レベル(surface level)では、レイトレーシング(ray tracing)は、光とオブジェクトの単一の交差から完全なフォトリアリズムまですべてを意味する総称です。ただし、今日使用されている最も一般的なコンテキストでは、レイトレーシングとは、(ray tracing)設定点(set point)からの光線(ピクセル単位)を追跡し、オブジェクトに遭遇したときの反応をシミュレートするレンダリング手法(rendering technique)を指します。

少し時間を取って、あなたがいる部屋の壁を(moment and look)てください。壁に光源がありますか、それとも別の光源から壁に反射した光がありますか?レイト(Ray)レーシンググラフィックスは、あなたの目から始まり、視線をたどって壁に到達し、次に壁から光源に戻る光の経路をたどります。

上の図は、これがどのように機能するかを示しています。シミュレートされた「目」(この図のカメラ)の理由は、GPUの負荷を軽減するためです。

なんで?まあ、レイトレーシングは真新しいものでは(t brand-new)ありません。それは実際にはかなり長い間存在しています。ピクサーはレイトレーシング技術を使用して多くのムービーを作成していますが、(Pixar)ピクサー(Pixar)が達成する解像度での高忠実度のフレームごとのグラフィックスには時間がかかります。

多く(A lot)の時間。モンスターズユニバーシティ(Monsters University)の一部のフレームは、それぞれ29時間かかったと報告されています。トイストーリー3はフレームあたり平均7時間かかり、 (Toy Story 3 )Wiredの2010年のストーリーによると、一部のフレームは39時間かかりました。

この映画は、あらゆる表面からの光の反射を示し、誰もが知って愛するようになったグラフィックスタイルを作成しているため、(style everyone)作業負荷(work load)はほとんど想像を絶するものです。レイトレーシング技術を目で見ることができるものだけに制限することにより、ゲームはグラフィックプロセッサに(文字通りの)メルトダウンを起こさせることなくこの技術を利用できます。

下の画像を見てください。

見た目はリアルですが、写真ではありません。レイトレーシング画像です。このような画像を作成するには、どれだけの電力が必要か想像してみてください。1つの光線を問題なく追跡および処理できますが、その光線がオブジェクトに当たって跳ね返った場合はどうでしょうか。

1つの光線は10の光線になり、それらの10は100になります。増加は指数関数的です。ポイントの後、3次および4次を超えたバウンスと反射は、収穫逓減を示します。言い換えれば、計算と表示には、価値があるよりもはるかに多くの電力が必要です。画像をレンダリングするために、どこかに制限を描画する必要があります。  

ここで、1秒間に30〜60回それを行うことを想像してください。これは、ゲームでレイトレーシング技術を使用するために必要な電力量です。確かに印象的ですよね?

レイトレーシング(ray tracing)が可能なグラフィックスカードの到達可能性は時間の経過とともに向上し、最終的にはこの手法は3Dグラフィックスと同じくらい簡単に利用できるようになります。ただし、今のところ、レイトレーシング(ray tracing)は依然としてコンピュータグラフィックスの最先端と見なされています。では、パストレーシングはどのように機能するのでしょうか。

パストレーシングとは何ですか?

パストレーシング(Path tracing)はレイトレーシングの一種です(ray tracing)。それはその傘下にありますが、レイトレーシング(ray tracing)が1968年に最初に理論化された場所では、パストレーシングは1986年まで登場しませんでした(そして結果は現在ほど劇的ではありませんでした)。

前述の光線の指数関数的な増加を覚えていますか?パスト(Path)レーシングはその解決策を提供します。レンダリングにパストレーシングを使用する場合、レイはバウンスごとに1つのレイのみを生成します。光線はバウンスごとに設定された線(set line)をたどるのではなく、ランダムな方向に発射されます。

次に、パストレーシングアルゴリズムは、すべての光線をランダムにサンプリングして、最終的な画像を作成します。これにより、さまざまなタイプの照明、特にグローバルイルミネーションがサンプリングされます。

パストレーシング(path tracing)の興味深い点は、シェーダーを使用して効果をエミュレートできることです。 最近、Nintendo Switchエミュレーター(Nintendo Switch emulator)用のシェーダーパッチが登場しました。これにより、プレイヤー(shader patch)は、ゼルダの伝説ブレスオブザワイルド(The Legend of Zelda: Breath of the Wild)スーパーマリオオデッセイ(Super Mario Odyssey.)などのタイトルで、パストレースされたグローバルイルミネーションをエミュレートできます。効果は見栄えがしますが、実際のパストレーシング(path tracing)ほど完全ではありません。

パストレーシング(Path tracing)は、レイトレーシングの1つの形式にすぎません。画像をレンダリングするための最良の方法として歓迎されましたが、パストレーシングには独自の欠陥があります。

しかし、最終的には、パストレーシングとレイト(path tracing and ray)レーシングの両方で、非常に美しい画像が得られます。民生用マシンのハードウェアがビデオゲームでリアルタイムでレイトレーシング(ray tracing)が可能になるようになった今、業界は2Dから3Dグラフィックスへのステップとほぼ同じくらい印象的なブレークスルーを達成する準備ができています。

ただし、必要なハードウェアが「手頃な価格」であると見なされるまでには、まだしばらく時間がかかります(少なくとも数年はかかります)。現在のところ、必要なグラフィックカードでさえ1,000ドルをはるかに超えています。



About the author

私は 10 年以上の経験を持つコンピューターの専門家です。余暇には、オフィスのデスクを手伝ったり、子供たちにインターネットの使い方を教えたりしています。私のスキルには多くのことが含まれますが、最も重要なことは、人々が問題を解決するのを助ける方法を知っていることです. 何か緊急のことを手伝ってくれる人が必要な場合や、基本的なヒントが必要な場合は、私に連絡してください!



Related posts