無制限の詳现-興味​​深いですが、私は非垞に具䜓的な疑問を持っおいたす...

数日前、 Hacker NewsのビデオおよびHabréで思い出させおくれたayambit氏がUnlimited Detailずいう䌚瀟に぀いお語っおいたす。 䞀般的に。 最新のビデオカヌドの機胜を䜕癟回も超えおいたす著者によるず、数千回、これに぀いおは埌述したす。



誰も芋おいない堎合







最初に、念のため、それが䜕であるか、そしおプログラマヌずしお、私が3DカヌドのないネットブックでCrysis 3をすぐにプレむするこずを疑うずいう事実に぀いお...



倚くの蚀葉ず技術的な詳现がありたす





無制限の詳现



だから、あらゆる皮類のグラフィックアルゎリズムずコンピュヌタヌビゞョンに倢䞭になり、OpenGLにかなり粟通しおいる-私はこれに本圓に興味がありたした。 ビデオは䜕に぀いお話しおいたすか 珟圚の通垞のグラフィックスは、ポリゎンで構成されおいたす-平らな衚面。 カヌドが良いほど、より倚くのポリゎンを描くこずができたす。 しかし、実際のオブゞェクトは、結果ずしお、限られたポリゎンセットから構築されるこずが倚いため、䞞みを垯びおいたすビデオのポット、ハッチ、石、草の䟋、これらの制限をある意味で回避できる方法はありたすが、独自の問題がありたす。



昔ながらのOpenGL 3 / DirectX11メ゜ッドを䜿甚-芖差マッピング、テッセレヌション



ポリゎンプレヌンの制玄を回避する1぀の方法は、芖差マッピングです。 開発者はビデオで圌に぀いお話しおいたす。





問題は明らかです-゚ッゞはただ盎線のたたです。 さらに、これにより、ビデオカヌドに倧きな負荷がかかりたすシェヌダヌ蚈算のためので、それらに関䞎するこずはありたせん。



2番目のオプションはテセレヌションです。 これは、DirectX 11および今日では既にバヌゞョン4を既に採甚しおいるOpenGL 3の分野からのはるかに高床な方法ですが、ここでは数癟語の䟡倀がありたす。



あなたが芋るこずができるように-石は「正盎に」コヌナヌに衚瀺されたす。 ハむ゚ンドカヌドの真のデモメモリが倉わらない堎合-GF100GeForce GTX 4x0およびATI R800Radeon 5xxxのGeForce 28x ... 修正に぀いおはinfiに感謝



䞀般に、最新のボヌドのテッセレヌションにより、倚くの点で、ポリゎンの制限をほが無制限の詳现UDず同じようにバむパスできたす。 これは事実であり、著者はビデオで蚀っおいない。



無制限の詳现は䜕をしたしたか



さお、UDに戻りたす。 そのため、著者は、数十億ポむントのリアルタむムシヌンをレンダリングできる怜玢アルゎリズムを開発したず䞻匵しおいたす。 ラスタラむズレンダリングされるのはポむントクラりドです。぀たり、䞉角圢はなく、倚数の倚数の小さなポむントしかありたせん。



比范のために、私はか぀お最新のカヌド8600GTSでテストしたしたが、24 fpsで1000䞇ポむントしかレンダリングできたせんでした。 UDは数十億を䞻匵したす。぀たり、8600を賌入するには100個必芁です。 ビデオカヌドのパフォヌマンスの䌞びは幎間わずか22ですがビデオのUDによるず、3Dアクセラレヌタの同様のFPSを長時間埅たなければなりたせん。 23幎はどうですか1.22 ** 23 = 100



UDを高速化するものは䜕ですか 画面䞊に合蚈1024x768 = 786000ピクセルがあるためです。 特定の3Dポむントフラットパネルモニタヌに察応がわかっおいる堎合、必芁な操䜜は毎秒786,000 * 25 = 2,000䞇回のみです。 最新のプロセッサは、最倧30億凊理できたす。 だから自治䜓で-おそらくプロセッサ䞊で。 しかし、ここに問題がありたす。これたでのずころ、この最小ポむントセットを正確に蚈算するアルゎリズムを実際に芋぀けた人はいたせん。



珟代のゲヌムでは、いわゆるオクルヌゞョンカリングが䜿甚されたす。







ご芧のずおり、グリッドをオンにするず、家の䞀郚が単玔に消えたす描画されたせん。 より高床なレベルでは、カリングは文字通りポリゎンのレベルで機胜したす-芋えないものをすべお隠したす背埌にある、芋えないずころにあるもので閉じられたすが、最埌の2぀はわずかに異なり、非垞に叀いカリング-錐台カリング。



それで-実際、UDの䜜者はそのようなアルゎリズムを発明したしたが、それはポむントのためだけです。 ぀たり、それだけで描画しお衚瀺する必芁がある最小数のポむントを芋぀けるこずができたす。 同じオク​​ルヌゞョンカリングですが、ピクセルレベルで-これは閉じられたす。



それは思われる-幞せがありたす 草はもはや平らではなく、すべおの枝が芋えるようになり、たくらぎさえ凞になりたす。



さお、仲間、チュヌナ...゜フトりェア゚ンゞニア...今、私たちの脳をオンにしお、䜕が間違っおいるのかを理解したしょう...疑問がありたす...



ここで䜕かが間違っおいたす...



たず、ビデオが蚀うように、NVidiaずATIはこのテクノロゞヌを切望しおいたせん。 誰もが2幎ごずに1000ドルでカヌドを必芁ずし、誰もがCPUでプレむする堎合、それは理解できたす。 しかし、䞀方で-なぜ賌入しお埋めないのですか どうやら心配しおいたせん。 なんで



だから...考えおみたしょう。 1024x768を25 fpsで再生するには、2,000䞇回の操䜜が必芁です。 珟圚の割合は30億回の操䜜を行っおいたす。぀たり、䞋䜍レベルのコマンドが_search_に1぀しか描画されないこずを意味したす。 さお、レンダリングずしたしょう-これは基本的に4x4マトリックスによる乗算であり、そこには陀算がありたす。 これが可胜であるこずは認めたすが、怜玢を開始したす。



だから、圌らが蚀うように、あなたが探す必芁がある20億ピクセル、...



1.これらすべおをどこで詰め蟌みたしたか



ポむントクラりドを圧瞮するための䞀般的なアルゎリズムはありたせん写真-JPG、DDSなど。぀たり、すべおのポむントをメモリに保存したす。 以䞋は、繰り返しの芁玠がほずんどないゞャングルのシヌンです。 20億ポむント*4バむト浮動* 3座暙+ 3色* 1バむトuint8= 30ギガバむトのRAM ...したがっお、これは明らかにホヌムコンピュヌタヌに適合したせん...



たあ、完党にパラノむアの堎合ゞャングルのシヌン20億ポむント、理論䞊は30ギガバむトは、同じCrysisのどのレベル100倍以䞊に比べおも非垞に小さいこずに泚意しおください。 したがっお、理論䞊の30ギガは100倍になる可胜性がありたす...たたは各空き地の各出口で、新しい空き地の新しい30ギグの読み蟌みを埅機したす毎秒30 MBのハヌドドラむブ速床= 1000秒たたはクリアごずに16分。 :)最初のゲヌムの叀き良き時代のように-10のステップ...「ロヌド....」



オプションは䜕ですか りィンチェスタヌ-圌らは倧きい、30ギガバむトは問題ではありたせん...圌らは䜕らかの皮類のむンデックスを構築し、それをメモリに保存したす、これらの30ギガバむトはハヌドドラむブに保存され、必芁に応じおアクセスされたす...ここに質問がありたす。 ハヌドドラむブぞのアクセスランダムシヌクは9ミリ秒です。぀たり、1秒あたり100回の読み取りのみです。 ぀たり、フレヌムごずに4぀以䞋の怜玢です。



たた、ビデオを芋るず、ランダムなシヌク順䞍同の読み取りが必芁になりたす。䞀郚の「象」はカメラの近くにあり、FIGの他の人は距離を知っおいるためです。 ぀たり、少し巊に、少し右に移動するず、非垞に倧きな数最倧768,000ポむントではなく、30ギガファむルに散圚するポむントを再床読み取る必芁がありたす。 これらのポむントがすべお連続しお蚘録された堎合-問題ありたせん-珟代の家庭甚ハヌドドラむブは1秒あたり数十メガバむトを順番に読み取りたすが、ランダムに読み取りたす-それでも問題がありたす...芁求は基本的に読み取る必芁がありたす。



そのため、ここで2぀の質問に遭遇したす。すべおの保存堎所ず再珟方法です。開発者は、ギグリヌダヌの工䜜員がいるマシンを䜿甚し、すべおのデヌタはメモリにある可胜性がありたす。 しかし、䜕十ものギグはありたせん。



もちろん、Elite for Spectrumは64Kのほが無限の宇宙を詰め蟌んでおり、 補品 Fabrauschは181千バむトの郜垂党䜓を詰め蟌んだこずを芚えおいたす 非垞に 巧劙 な方法で.. 。 しかし、ここでの手続き型テクスチャの方法は、特に著者を救うものではないこずを教えおくれたす。



2.営業時間、3Dアヌティスト、倱業、暎動...



皌働時間。 これたでのずころ、すべおの技術は埋め立お甚に蚭蚈されおいたす。 すべおの3D゚ディタヌ特定の゚ディタヌを陀き、私も䞀緒に䜜業したしたが、その名前でさえ誰にもわかりたせんは、ポリゎン甚に蚭蚈されおいたす。 3Dアヌティストはすべおポリゎンで考えたすもちろん、zBrushはゲヌムシヌンを少し倉曎したすが、それでも䜜業は最初は䜎ポリゎンモデルで行われたす。 すべおのテクスチャデザむナヌは、ポリゎンモデルの操䜜に慣れおいたす...すべおのモデル最適化アルゎリズムは、ポリゎン甚に蚭蚈されおいたす...すべおの圧瞮アルゎリズムは、フラットテクスチャJPG、DDS甚に蚭蚈されおいたす。



ポむントクラりドを凊理する手段も、それらを描画できる人も、圧瞮アルゎリズムも十分ではありたせん。 そこには、ビデオに小さなシヌンが瀺されおおり、それがわかったように、䞊に30ギガバむトのスペヌスが必芁だず思いたす...しかし、この皮のデヌタを圧瞮するための特別なアルゎリズムはありたせん



もちろん、開発者は、通垞のモデルをテクスチャを䜿甚しお点矀に倉換するこずができるず蚀いたすが、ただ行っおいないこずを認めおいたす。 これはアヌティストの䞍足の問題を解決するかもしれたせんが、それは圧瞮ずボリュヌムの問題を解決したせん。



3.グレアや反射は必芁ありたせん。Doomをプレむしたす



開発者は、「ちら぀きの圱に泚意を払わないでください-これはシャドりマップをマップするのに十分ではありたせん」原則ずしお、シャドりマッピングパラメヌタヌに぀いお話しおいる-ここでは明確であり、特定のシヌンに合わせお調敎する必芁がありたす、ただ問題がありたす 特に、珟代のゲヌムであなたを感動させるものはほずんどすべおシェヌダヌです。 ハむラむトはシェヌダヌの結果です。 そしおシェヌダヌにずっお、圌にずっおの䞻な入力事項の1぀は、サヌフェス䞊の通垞のポむントです。  写真 この矢印䞉角圢の各ポむントのみは、その䞭の「ハむラむト」の匷さを決定するものです。 同じ倉䜍マッピング、反射特にそしお光の屈折のダンスは圌女からです。



今問題。 点矀の䞭の点には通垞はありたせん...圌女が矢を匕く堎所はありたせん-圌女はただの点です。 法線の堎合、圌女は、圌女がサヌフェスを圢成する少なくずも2぀の他のポむント井戞、たたは法線の方向を知る必芁がありたす。 したがっお、反射、屈折、光沢などはできたせん。 簡単に蚀えば、実際のポむントクラりドは光沢のあるプラスチックたたは完党に艶消しのプラスチックでさえあり埗たせん-たぶしさは陀倖されたす-それらは単に蚈算できたせん。 したがっお、ビデオに衚瀺されるものはすべおマットです-グレアはありたせん。



実際、ここで私は少し嘘を぀いおいたす-そしおもちろん、ポリゎンモデリングの叀い方法を䜿甚しおいる堎合-点は法線を持぀こずができたす。 しかし、正盎なクラりドでは、通垞のポむントはありたせん。 法線はもちろん、どこかから取埗する必芁がありたすが、そのためには䞉角圢たたは倚角圢が必芁です。





これは、䞀般的に、無制限の詳现をレンダリングするポむントクラりドの䟋です。 ちなみに、これは詳现が「無限」ではないこずを説明しおいるこずに泚意しおください。 それは有限であり、著者は、ほが無制限のサむズレベル䞀般に疑わしいを探すこずができるこずを念頭に眮いおいたした。



圱が䜕らかの理由で機胜する理由の埌退圱があるず、ここで物事が簡単になりたす-シヌンは再び倪陜の芖点から芋えないようにレンダリングされ、カメラの芳察者に芋えるこれらの点倪陜に芋えるを比范したす-芋えるものは明るい倪陜の䞋で、目に芋えないもの-日陰で。



もちろん、ビデオでは、湖の反射Quake 1aを確認できたす。 しかし、開発者は䞍正行為を行ったこずを認めおおり、実際にはシヌンは2぀あり、1぀は䞊、もう1぀は䞋です。 確かに、このような原始的な効果平面からの反射は数孊的に簡単に蚈算できたす。 もう1぀の質問は、すでにおなじみの「リップル」です。ここでは、プロセッサで蚈算しないのはすでに非垞に簡単です。レむトレヌシングには時間が必芁です...



したがっお、グレア、反射などのすべおのクヌルな効果は、䞀時的にポむントクラりドたたはポむント間のリアルタむムでポむント法線を蚈算する方法を理解するたで攟棄し、曇りの倩候ですべおのゲヌムを実行する必芁がありたすラドゥヌム、すでに反射がありたした...



簡単に蚀えば、ここを芋おください-法線のない最初の2぀のオプションがありたす。





別の問題は透明性です。 UDが衚瀺されるカメラに最も近いピクセルのみを探しおいる堎合、この最も近いピクセルの背埌にあるピクセルを怜玢するこずが問題になる可胜性があり、怜玢アルゎリズムでは提䟛されたせん。 そしお、これがたさに透明床の仕組みです。フロントピクセルの50が背埌の色ず混ざりたす。



4. ロシア系アメリカ人は、 torreゲヌムに500ドルを支払いたすか



ゲヌム業界での䞻な問題の1぀は、あたりにも詳现なオブゞェクトを䜜成する必芁があるこずですこれには反察です-実際の生掻にもっず䌌たゲヌムよりも適床なグラフィックスでより楜しいワむンドアップゲヌムを提䟛したす...珟実が欲しければ、倖に出たすゲヌムではなく数千䞇ドルがすでにゲヌムに費やされおいるのはこのためです... GTA4-1 億ドル 



だから、今では角床はただカットされおいたす...いいえ、反察に、ゲヌムでは3Dモデルにただ角床があるずいう事実のためです-䟡栌はオブゞェクトの開発のためにただ適床です。 しかし、各ゲヌムアむテムをzBrushで開発しなければならない堎合は...ポむントで...詳现をミリメヌトルに枛らしたす...ゲヌムの䟡栌はさらに高くなりたす...もちろん、ロシアはそれほど気にしたせんが、それでもゲヌム業界がこのような技術の導入に抵抗するもう1぀の理由です無制限の詳现のような。



5. AI 物理孊 骚



私もこれを完党に忘れおいたした...今ではビデオカヌドは開発者を助け、AIず物理孊を蚈算するためにパヌセントをほが自由に残したす埌者はビデオカヌドにも転送されおいたす。 パヌセントがグラフィックスの蚈算のみを凊理する堎合-AIず物理孊は誰もカりントしたせん。 いわゆるスキニングず同様に、ボヌンを䜿甚しおアニメヌション䞭にキャラクタヌモデルを曲げたす。 これは珟圚、CPUたたはGPUでもありたす。 そしお、すべおがすでにCPUにある必芁がありたす。



そのため、ビデオカヌドなしで「 無限のディテヌル」を実珟するには、愚かなAIず、プロセッサ時間が足りないために地面を通過するオッシファむしたプレヌダヌで支払う必芁がありたす。



もちろん、マルチプロセッシングは圹立ちたすが、これたでのずころ、珟圚の珟実では、足の無制限の詳现にある別の小さなクロヌブです。



䞀般的に...



䞀般的に、ビデオは印象的です。 そしお、著者が瀺したずおりのこずをしたこずは間違いありたせん。 おそらくどこかで32GBの工䜜員のように角が切り取られたしたが、それでも存圚しおいたす。 さらに、Hacker Newsのハッカヌは、UDの䜜者がおそらくアルゎリズムの分野で䞖界をリヌドする開発者の1人であるこずを発掘しGreg Douglas、おそらくR-Treeアルゎリズムの開発に関連するものず同じ...しかし、ここに䜕かありたす䞊蚘、これが䞻流のゲヌムで蚱可されるこずを疑いたす...少なくずも16か月は、Unlimited Detail開発者が玄束するように。



しかし、良い起業家掻動のように、あなたがするこずは䞍可胜だず倚くの人が蚀うほど、より良い方法おそらくを芋぀けたした。 UDの玳士は、これらすべおの問題を回避する方法を芋぀けたかもしれたせん。この技術はラップトップで実際に機胜したす。しかし、これたでのずころ、理論的には、私はそれらのいずれか... -経隓は、通垞、奇跡は存圚しないこずを瀺唆しおいたす。



さらに重芁なこずに、ゲヌム業界には、このテクノロゞヌを採甚しおツヌルをすべお䜜り盎し、人々を再蚓緎し、そのようなデヌタを圧瞮および保存するための新しいアルゎリズムを開発するむンセンティブがありたせん。ビデオカヌドのレベルが近づくず、目の詳现はすでに区別できたせんUDが提䟛するもの。 たた、芖芚的には、UDデモは7幎間ほずんどすべおの最新ゲヌムを倱いたす。



歎史の経過を予枬するこずは、ありがたいこずではありたせん。 理論䞊の問題を衚明しただけです。



たあ、時間がわかりたす...





ペむハゞ

ハブルからの眺め



PS Unlimited Detailが2幎前に発芋されたした...



All Articles