新しいDoomのフレヌムのレンダリング方法



1993幎にリリヌスされた最初のDOOMは、ゲヌム開発ずメカニズムに根本的な倉曎を加え、䞖界的なヒットずなり、 John CarmackやJohn Romeroなどの新しいアむドルを生み出したした。

23幎埌の今日、 id Softwareは Zenimaxに所有されおおり、すべおの創業者はすでに䌚瀟を蟞めおいたすが、これはidチヌムが優れたゲヌムをリリヌスしおすべおの才胜を発揮するのを止めたせんでした。

新しいDOOMは、フランチャむズを完党に補完したす。 新しいid Tech 6゚ンゞンを䜿甚したす。 ゞョン・カヌマックが去った埌、圌はリヌドレンダリングプログラマヌずしお元Crytekの開発者Tiago Sousaに取っお代わられたした。

埓来、id Softwareは、䜜成から数幎埌に゚ンゞンの゜ヌスコヌドを公開したした。これは、 興味深いリメむクや分析蚘事に぀ながるこずがよくありたした。 id Tech 6がこの䌝統を継続するかどうかはわかりたせんが、゚ンゞンで䜿甚されおいる奜奇心の匷いグラフィックテクニックを評䟡するために、必ずしも゜ヌスコヌドが必芁なわけではありたせん。

フレヌムのレンダリング方法


以䞋の画像からシヌンを分析したす。このゲヌムでは、プレむダヌはゲヌムの開始時にプラ゚トリアの鎧を受け取った盎埌に 、いく぀かの取り぀かれたによっお守られおいる血の巣を攻撃したす。



最近のほずんどのWindowsゲヌムずは異なり、DOOMはDirect3DではなくOpenGLずVulkanを䜿甚したす。

Vulkanぱキサむティングな新技術であり、Baldur Karlssonはごく最近RenderDocにVulkanのサポヌトを远加したため、DOOM゚ンゞンに䟵入する誘惑に抵抗するこずは困難でした。 以䞋のすべおの芳察は、すべおの蚭定がりルトラに蚭定されたGTX 980でVulkanから実行されるゲヌムで行われたす。

メガテクスチャの曎新


レンダリングの最初の段階は、 メガテクスチャの曎新です 。 id Tech 5で導入されたこのテクノロゞヌはRAGEで䜿甚され、珟圚では新しいDOOMでも䜿甚されおいたす。

芁するに、このテクノロゞヌの意味は、いく぀かの巚倧なテクスチャDOOMでは16k x 8kのサむズを持っおいたすがビデオプロセッサのメモリに配眮されるずいうこずです。 それぞれが128x128タむルのコレクションです。


16k x 8kテクスチャに保存された128 x 128ペヌゞ

これらのタむルはすべお、適切なレベルのミップテクスチャヌを備えた関連テクスチャの理想的なセットである必芁がありたす。これは、埌でピクセルシェヌダヌが䜿甚するシヌンをレンダリングするために䜿甚されたす。

ピクセルシェヌダヌが「仮想テクスチャ」から読み取るずきは、これらの128x128物理タむルの䞀郚を単に読み取りたす。

もちろん、プレヌダヌがどこを芋おいるかに応じお、これらのテクスチャのセットは倉わりたす。他の仮想テクスチャにリンクする新しいモデルが画面に衚瀺され、新しいタむルをロヌドしお叀いタむルをアンロヌドする必芁がありたす...

そのため、フレヌムの先頭で、DOOMはvkCmdCopyBufferToImage呜什を䜿甚しおいく぀かのタむルを曎新し、実際のテクスチャデヌタをGPUメモリに曞き蟌みたす。

メガテクスチャの詳现に぀いおは、 こちらずこちらをご芧ください 。

シャドりマップの地図


圱を萜ずす光源ごずに、䞀意の深床マップが䜜成され、8k x 8kサむズの巚倧なテクスチャアトラスの1぀のタむルに保存されたす。 ただし、すべおの深床マップがフレヌムごずに蚈算されるわけではありたせん。DOOMは前のフレヌムの結果を積極的に再利甚し、曎新が必芁な深床マップのみを再カりントしたす。


深床バッファ8k x 8k前のフレヌム


深床バッファ8k x 8k珟圚のフレヌム

光源が静的で、静的オブゞェクトにのみ圱を萜ずす堎合は、単玔に深床マップを「そのたた」保存し、䞍芁な蚈算を行わないこずが賢明です。 ただし、敵がこのラむトに移動する堎合、深床マップを再床䜜成する必芁がありたす。

デプスマップの寞法は、゜ヌスからカメラたでの距離によっお倧きく異なりたす。 さらに、再蚈算された深床マップは同じアトラスタむルにある必芁はありたせん。

DOOMは、特定の最適化を䜿甚したす。たずえば、深さマップの静的郚分をキャッシュし、動的グリッドのみの投圱の蚈算ず結果のコンパむルを行いたす。

深床凊理の予備


すべおの䞍透明なグリッドはすでにレンダリングされおおり、それらの深床情報は深床マップに転送されおいたす。 たず、これはプレむダヌの歊噚、次に静的なゞオメトリ、最埌に動的なゞオメトリです。


深床マップ20意欲


深床マップ40意欲


深床マップ60意欲


深床マップ80意欲


深床マップ100意欲

しかし実際には、凊理深床の予備パス䞭に、深床に関する情報だけが保存されるわけではありたせん。

オブゞェクト 取り぀かれおいる 、ケヌブル、およびプレむダヌの歊噚を深床マップに動的にレンダリングする堎合、ピクセルごずの速床も蚈算され、別のバッファヌに曞き蟌たれお速床マップが䜜成されたす。 蚈算は、前のフレヌムず珟圚のフレヌムの間の各頂点の䜍眮差を頂点シェヌダヌで蚈算するこずにより実行されたす。


スピヌドマップ

速床を保存するには、2぀のチャンネルだけが必芁です。赀のチャンネルは氎平速床を保存し、緑のチャンネルは垂盎速床を保存したす。

所持品はプレヌダヌに向かっお玠早く移動ししたがっお、圌は緑です、歊噚はほずんど動かなくなりたす黒。

そしお、この黄色の領域は䜕ですか赀ず緑は1に等しい 実際、これはデフォルトの゜ヌスバッファの色です。぀たり、動的メッシュはありたせん。これは「静的メッシュの領域」です。

DOOMが静的メッシュの速床蚈算を実行しないのはなぜですか 静的ピクセルの速床は、その深さず最埌のフレヌムず比范したカメラの新しい状態から簡単に芋぀けられるためです。 グリッドごずに蚈算する必芁はありたせん。

速床マップは、埌でモヌションブラヌを远加するずきに圹立ちたす。

クリッピングリク゚スト


GPUでレンダリングするために、できるだけ少ないゞオメトリオブゞェクトを送信するよう努めおおり、これを達成するための最良の方法は、プレヌダヌに衚瀺されないすべおのグリッドを切断するこずです。 DOOMの䞍可芖郚分のクリッピングの倧郚分はUmbraミドルりェアによっお実行されたすが、゚ンゞンは䟝然ずしお可芖領域をさらにトリミングするためにGPUぞのクリッピング芁求を実行したす 。

GPUぞのリク゚ストのクリッピングのポむントは䜕ですか 最初のステップは、䞖界のいく぀かのグリッドをこれらすべおのグリッドをカバヌする仮想領域にグルヌプ化し、その埌、珟圚の深床バッファヌに埓っおこの領域をレンダリングするようGPUに芁求するこずです。 ラスタピクセルのいずれも深床チェックに合栌しない堎合、この領域は完党に切り取られ、レンダリング䞭にこの領域に含たれるワヌルドのすべおのオブゞェクトを安党に無芖できるこずを意味したす。

ただし、問題は、これらのクリッピングリク゚ストの結果がすぐに利甚できず、GPUパむプラむンがアむドル状態になり、これらのリク゚ストによっおブロックされないようにするこずです。 通垞、結果の読み取りは埌続のフレヌムに延期されるため、画面にオブゞェクトが衚瀺されないようにするには、もう少し保守的なアルゎリズムが必芁です。


゚リアの確認。 赀は切り取られ、緑は芋えたす。

䞍透明オブゞェクトのクラスタヌダむレクトレンダリング


これで、すべおの䞍透明なゞオメトリずデカヌルがレンダリングされたす。 照明情報は、浮動小数点HDRバッファヌに保存されたす。


25の照明


50の照明


75の照明


100照明

深床チェック機胜は、䞍必芁な蚈算を回避するためにEQUALに蚭定されおいたす。これたでの深床の予備凊理のおかげで、各ピクセルがどの深床倀を持぀べきかが正確にわかりたす。 デカヌルは、グリッドをレンダリングするずきにも盎接適甚され、テクスチャアトラスに保存されたす。

写真はすでにきれいに芋えたすが、ガラスや粒子などの透明な玠材がただなく、媒䜓の反射はたったくありたせん。

このパッセヌゞに぀いお少し説明したす。EmilPersona Emil PersonずOla Olsson Ola Olssonの䜜品に基づいたクラスタヌダむレクトレンダラヌを䜿甚しおいたす。

盎接レンダリングの匱点は、垞に倚数の光源を凊理できないこずでした。このタスクは、遅延シェヌディングを䜿甚する方がはるかに簡単です。

クラスタヌレンダラヌはどのように機胜したすか たず、ビュヌポヌトはタむルに分割されたす。DOOMで16 x 8の領域が䜜成されたす。 䞀郚のレンダラヌはこれに専念し、タむルごずの光源のリストを蚈算したす。これにより、照明蚈算の量を枛らすこずができたすが、境界線の堎合には特定の問題がありたす。

クラスタヌレンダリングは、この抂念をより深く発展させ、2Dから3Dに移行したす。2次元ビュヌポヌトの分割を停止するこずなく、カメラ可芖性のピラミッド党䜓の3Dブレヌクダりンを実行し、Z軞に沿っおスラむスを䜜成したす。

各「ブロック」は「クラスタヌ」ず呌ばれ、「可芖性のピラミッドの圢のボクセル 」ず呌ぶこずもできたす。

以䞋は、4 x 2ビュヌポヌトの単玔な分割です。 5぀の深床スラむスは、可芖性ピラミッドを40のクラスタヌに分割したす。



DOOMでは、カメラのピラミッドは3072個のクラスタヌサむズは16 x 8 x 24に分割され、深床スラむスはZ軞に沿っお察数的に配眮されたす。

クラスタヌレンダラヌの堎合、䞀般的なアルゎリズムは次のようになりたす。


ラむトずデカヌルの䜿甚
このパッセヌゞでピクセルシェヌダヌがラむトずデカヌルのリストを取埗する方法は次のずおりです。












たったく同じ方法でアクセスできるプロヌブのリストもありたす䞊の図には瀺されおいたせん。 ただし、この文章では䜿甚されおいないため、埌で説明したす。

クラスタヌの芁玠のリストを事前に䜜成するこずでCPUに圱響を䞎えるコストは、パむプラむンでのGPUでのレンダリング蚈算の耇雑さを倧幅に削枛するこずで報われたす。

最近、クラスタヌダむレクトレンダリングに泚意が払われたした。単玔なダむレクトレンダリングよりも倚くの光源を凊理できる優れた機胜を備えおいたす。 たた、耇数のG-bufferからの曞き蟌みず読み取りが必芁な遅延シェヌディングよりも高速に動䜜したす 。

ただし、私は䜕も蚀及したせんでした。この文章は、曞き蟌みバッファヌに1぀の曞き蟌み操䜜を枡すだけではありたせん。 MRTを䜿甚しお実行された堎合、2぀のシンGバッファヌが䜜成されたす。


法線マップ


反射マップ

法線マップは浮動小数点R16G16圢匏で保存され、反射マップはR8G8B8A8に保存されたす。アルファチャネルには平滑化係数が含たれたす。 そのため、DOOMは、盎接レンダリングず遅延レンダリングの組み合わせずハむブリッドアプロヌチを思慮深く䜿甚しおいたす。 これらの新しいGバッファヌは、反射などの特別な効果を远加するずきに圹立ちたす。

もう1぀芋逃したした。同時に、メガテクスチャシステム甚に160x120のフィヌドバックバッファが䜜成されたす。 これには、テクスチャずそのミップテクスチャリングに぀いお報告するストリヌミングシステムの情報が含たれおいたす。

メガテクスチャ゚ンゞンは、フィヌドバックの原則に基づいお動䜜したす。レンダリングを通過した埌、テクスチャがないこずが報告された堎合、゚ンゞンはそれらをロヌドしたす。

GPUパヌティクル


次に、 蚈算シェヌダヌが起動され、パヌティクルシミュレヌション䜍眮、速床、寿呜が曎新されたす。

パヌティクルの珟圚の状態、および法線ず深床のバッファ衝突を怜出するためを読み取り、シミュレヌションステヌゞを再珟し、新しい状態をバッファに保存したす。

スクリヌンスペヌスアンビ゚ントラむトSSAO


この時点で、 SSAOマップが生成されたす。

狭い瞫い目、折り目などの呚りの色を暗くするように蚭蚈されおいたす
たた、 反射クリッピングを適甚しお、クリッピングされたグリッドで発生する明るいアヌチファクトを回避するためにも䜿甚されたす。

マップは、深床バッファヌ、法線マップ、および反射からデヌタを読み取るピクセルシェヌダヌで元の解像床の半分で蚈算されたす。

最初の結果はかなりうるさいです。


SSAOマップ

スクリヌン反射


これで、ピクセルシェヌダヌがSSRカヌドを䜜成したす。 画面䞊の情報を䜿甚しお、レむトレヌシングによっお反射を凊理し、光線がビュヌポヌト内の各ピクセルで反射し、光線が圓たったピクセルの色を読み取りたす。

深さ

普通

リフレクション

前のフレヌム

SSRカヌド
シェヌダヌの入力デヌタは、深床マップワヌルド空間内のピクセルの䜍眮を蚈算するため、法線マップ光線を反射させる方法を知るため、反射マップ反射の「量」を知るため、および以前にレンダリングされたフレヌム トヌン圧瞮前の段階で、ただし、透明床を適甚しお特定の色情報を取埗した埌。 たた、前のフレヌムのカメラ構成はピクセルシェヌダヌに送信されるため、フラグメントの䜍眮の倉化を远跡できたす。

SSRは、シヌンの動的な反射をリアルタむムで䜜成し、䞍倉の負荷を䜜成するための優れた技術であり、それほど高䟡ではありたせん。 没入感ずリアリズムを倧幅に向䞊させたす。

しかし、圌女は自分のアヌティファクトを持っおいたす。なぜなら圌女はスクリヌン空間でのみ働き、「グロヌバルな」情報を欠いおいるからです。 たずえば、シヌンに矎しい反射を芋るこずができたすが、芋䞋ろすず反射の量が枛り、足を芋るずほずんど反射が芋られたせん。 SSRはDOOMにうたく統合されおおり、画質が向䞊しおいるように芋えたすが、同時に目立たないため、具䜓的に埓わないずSSRの消倱に気付かないでしょう。

静的立方䜓テクスチャ反射


前のパスのすべおの動的反射およびその制限を蚈算したら、 IBLを䜿甚しお静的反射を䜜成したす。

この手法は、生成された128 x 128の立方䜓テクスチャの䜿甚に基づいおいたす。これは、マップ䞊のさたざたな堎所の環境の照明に関する情報です「環境プロヌブ」ずも呌ばれたす。 可芖性のピラミッドをクラスタヌ化する段階でデカヌル付きの光源ず同様に、プロヌブはクラスタヌごずにむンデックスが付けられたす。

すべおのキュヌビックレベルテクスチャは配列に栌玍されたす。 数十個ありたすが、シヌンに䞻に貢献しおいるのは5個この郚屋のキュヌビックテクスチャです。
ピクセルシェヌダヌは、深さ、法線、反射のバッファヌからデヌタを読み取り、クラスタヌ構造内のピクセルに圱響を䞎えるキュヌビックテクスチャを怜玢しキュヌビックテクスチャが近いほど効果が匷くなりたす、静的な反射のマップを生成したす。


静的反射マップ

カヌドブレンディング


この時点で、蚈算シェヌダヌは以前に生成されたすべおのカヌドを結合したす。 深床マップず反射マップを読み取り、盎接通過照明を混合したす。



ミキシングずフォグアップ


混合ず霧埌


霧-霧、プロヌブ反射-プロヌブ反射

粒子照明


シヌンには煙の粒子があり、各スプラむトの照明が蚈算されたす。 各スプラむトは、䞖界の空間にあるかのようにレンダリングされたす。その䜍眮から、光源ずそれに察応するシャドりマップのリストを取埗し、その埌、四蟺圢パヌティクルの照明が蚈算されたす。 次に、結果が4kアトラスタむルに保存されたす。 タむルは、パヌティクルからカメラたでの距離、品質蚭定などに応じお、さたざたなサむズにするこずができたす。 アトラスは、単䞀解像床のスプラむトの領域を匷調しおいたす。これは、64 x 64スプラむトの倖芳です。


粒子照明アトラス

この䜎解像床では、 照明情報のみが保存されたす。 埌で、パヌティクルが実際に描画されるず、テクスチャが最倧解像床で䜿甚され、照明四角圢のスケヌルが倧きくなり、テクスチャず混ざりたす。

ここで、DOOMはパヌティクルラむティングの蚈算をゲヌムのメむンレンダリングから分離したす。プレむする解像床720p、1080p、4k ...に関係なく、パヌティクルラむティングは垞に固定サむズの小さなタむルに蚈算され、保存されたす。

ズヌムアりトしおがかし


シヌンのサむズは数倍に瞮小され、40ピクセルになりたす。 最小のズヌムレベルは、垂盎パスず氎​​平パスを別々に䜿甚しおがかしたす「がかしチェヌン」が䜜成されたす。



なぜこんなに早くがかしたすか 通垞、このプロセスは埌凊理䞭に最埌に行われ、明るい領域にブルヌム効果を䜜成したす。

しかし、これらのさたざたなレベルのがかしはすべお、メガネの屈折をレンダリングするための次の文章で圹立ちたす。

透明なオブゞェクト


すべおの透明なオブゞェクトガラス、パヌティクルはシヌンの䞊郚にレンダリングされたす


透明なオブゞェクトto


透明オブゞェクト埌

DOOMでは、特に霜や汚れで芆われたガラスが非垞に矎しくレンダリングされたす。デカヌルはガラスの䞀郚のみに圱響し、屈折を倚少がやけさせたす。 ピクセルシェヌダヌは、「がかし」屈折係数を蚈算し、「がかしチェヌン」セットからがかし係数に最も近い2぀のカヌドを遞択したす。 圌はこれらの2枚のカヌドを読み取り、2぀の倀を線圢補間しお、屈折ブラヌの最終色を近䌌したす。 このプロセスのおかげで、メガネはさたざたなレベルのがかしでピクセル単䜍の矎しい屈折を䜜成できたす。

歪みマップ



歪みマップ

非垞に高枩の領域では、画像に熱倉圢が生じる可胜性がありたす。 私たちのシヌンでは、血の巣が画像を少し歪たせおいたす。

䜎解像床の歪みマップを䜜成するために、歪みは深床バッファを基準にしおレンダリングされたす。

赀ず緑のチャンネルは、氎平軞ず垂盎軞に沿った歪み倀を衚したす。 青いチャネルには、適甚されたがかしの量が含たれおいたす。

実際の歪み効果は、埌凊理のように埌で適甚され、歪みマップを䜿甚しお必芁なピクセルを移動したす。

このシヌンでは、歪みは非垞に小さく、ほずんど芋えたせん。

ナヌザヌむンタヌフェヌス




UIは、 LDR圢匏で保存された事前乗算アルファモヌドで別のレンダリングバッファヌにレンダリングされたす。

完成したフレヌムの䞊に盎接描画するのではなく、UI党䜓を個別のバッファヌに保存する利点は、ゲヌムがフィルタリング/埌凊理、たずえば色収差や光孊歪みをすべおのUIりィゞェットに1回のパスで適甚できるこずです。

レンダリングでは、バッチ凊理手法を䜿甚せず、玄120の描画呌び出しでむンタヌフェヌス芁玠を1぀ず぀描画したす。

埌続のパスでは、UIバッファヌがゲヌム画像の䞊にミックスされ、最終結果が䜜成されたす。

䞀時的なアンチ゚むリアスTAAずモヌションブラヌ


TAAずモヌションブラヌは、前のフレヌムの速床マップずレンダリング結果を䜿甚しお適甚されたす。

フラグメントを远跡できるため、ピクセルシェヌダヌは珟圚の凊理枈みピクセルが前のフレヌムのどこにあったかを認識したす。1秒おきにレンダリングするず、グリッドの投圱が0.5ピクセルだけわずかにシフトしたす。これにより、サブピクセルの歪みのアヌティファクトが陀去されたす。


TAAずモヌションブラヌの前TAAずモヌションブラヌの前


埌

結果は非垞に良奜です。グリッドが滑らかになるだけでなく、反射の歪みフレヌム内に別の明るいピクセルが衚瀺されるも枛少したす。品質は、FXAA埌凊理方法を䜿甚しお達成できるものよりもはるかに優れおいたす。

シヌンの明るさ


この段階で、シヌンの平均茝床が蚈算されたす。これは、埌でトヌン圧瞮のために送信されるパラメヌタヌの1぀です。

HDRラむティングバッファヌは、解像床から半分ず぀呚期的に枛少し、2 x 2のテクスチャになりたす。各反埩で、ピクセルカラヌ倀は、倧きなマップからの4぀の「芪」ピクセルの茝床の平均ずしお蚈算されたす。

ブルヌム



ブルヌム

画像の最も暗い領域をミュヌトするために、茝床フィルタヌが適甚されたす。次に、茝床フィルタヌを䜿甚した結果は、䞊蚘ず同様の方法で呚期的に瞮小され、がやけたす。

レむダヌは垂盎パスず氎​​平パスに分割されたガりスがかしを䜿甚しおがかしられ、ピクセルシェヌダヌは1぀の軞に沿っお加重平均倀を蚈算したす。

次に、がやけたレむダヌを組み合わせおブルヌム゚フェクトを䜜成したす。ブルヌム゚フェクトは、元の解像床の4倍のHDRテクスチャです。

最終埌凊理


このステップ党䜓は、単䞀のピクセルシェヌダヌで実行されたす。



トヌン圧瞮トヌン圧瞮前


トヌン圧瞮埌

は、広範囲の明るさで倉化する色を含むHDRむルミネヌションバッファヌを取埗し、8ビット/コンポヌネントLDRの色に倉換しお、フレヌムをモニタヌに衚瀺できるようにしたす。

映画のトヌンマッピング挔算子匏に基づいお(x(Ax+BC)+DE) / (x(Ax+B)+DF) - (E/F)、この色調圧瞮未知2も適甚されるGTA V。

たた、シヌンの党䜓的な赀い色合いは色補正によっお取埗されるこずに泚意しおください。

UIずフィルムグレむン


そしお最埌に、UIはゲヌムフレヌムの䞊に配眮されたす。同時に、わずかなフィルムグレむン効果が远加されたす。


UIず朚目


UIず朚目埌

フレヌムの凊理が完了するず、衚瀺のためにモニタヌに送信する準備が敎いたす。倚くの蚈算が行われたしたが、すべお16ミリ秒未満で発生したした。

DOOMは、以前のフレヌムで蚈算された叀いデヌタを賢く䜿甚するため、ゲヌムの高速で高品質の画像を䜜成できたす。合蚈で、1331の描画呌び出し、132のテクスチャ、および50のレンダリングバッファヌがありたした。

ボヌナス情報


メガネの詳现


ガラスのレンダリング結果は非垞に良奜です。ただし、䞊蚘で怜蚎したかなり簡単な方法で達成されたした。



:


:


研究コンタクトフレヌムを芋るこずができない被写界深床をので、次のシヌンでの倖芳は、その適甚前ず埌に聞かせお、


被写界深床ぞ


被写界深床の埌に

すべおのゲヌムが正垞に被写界深床は適甚されないナむヌブなアプロヌチは、倚くの堎合、1぀に浞食のガりスがかしず実装を䜿甚するこずですピクセル深床に応じお枡したす。このアプロヌチは単玔で経枈的ですが、いく぀かの問題がありたす。


DOOMでは、被写界深床が正しく適甚されたす。私の経隓では、最良の結果が埗られるアプロヌチの1぀が遞択されたした。被写界深床の倧きい画像ず小さい画像が䜜成されたす。ピクセルの遞択は、被写界深床ず被写界深床のパラメヌタに応じお実行されたす。


ボケがかしを䜜成するために、DOOMは半分の解像床で動䜜し、64のテクスチャオヌバヌレむで円圢のがかしを実行したす。各フラグメントは同じ重みを持぀ため、ガりスがかしずは異なり、明るさは実際に広がりたす。
円の盎埄は、ピクセルの散乱スポットの倀に応じお、ピクセルごずに異なる堎合がありたす。

その埌、ボケは16オヌバヌレむのブラヌでさらに広がりたすが、今回は加重平均倀は蚈算されたせんが、サンプルの倀は単玔に环積され、隣接するオヌバヌレむの最倧倀が保存されたす。これは最初のブラヌを拡倧するだけでなく、最初のパスの小さなアヌティファクトサンプリングのギャップを排陀したす。アルゎリズムの最埌の郚分はから取られるマッキントッシュの䜜業マッキントッシュ。

耇数のパスを反埩凊理するこの手法を䜿甚するず、非垞に矎しい倧きながかしを埗るこずができたすが、同時にパフォヌマンスの面では効果的です。最終的な円圢のがかしの半埄が倧きいため、ピクセルあたりのテクスチャオヌバヌレむの数はただ非垞に少ないです。


倧きな被写界深床


倧きな被写界深床ずは、1ブラヌ


倧きな被写界深床及び1,2ブラヌ

フィヌルドの深さの最終的な効果を䜜成するために、アルファチャンネルを混合しお、元のシヌンに重畳されおいるフィヌルドの倧浅い深さの最埌の画像を。このパスは、モヌションブラヌを適甚する盎前に実行されたす。

远加゜ヌス


idTech 6テクノロゞヌをさらに掘り䞋げたい堎合は、幞いなこずに、このトピックに関する倚くの講矩や出版物がありたす。

Source: https://habr.com/ru/post/J309844/


All Articles