Three.js: WebGL2Renderer

䜜成日 2016幎10月29日  Â·  84コメント  Â·  ゜ヌス: mrdoob/three.js

今週、ChromeはWebGL 2.0を出荷する意向を発衚したので、サポヌトの远加を開始する時が来たず思いたす。

䞀郚の新機胜のサポヌトをWebGLRendererに远加するPRはすでにいく぀かありたすが、どういうわけか、 WebGLRenderer䞡方のwebgl $をサポヌトさせるのは良い考えではないず感じたした。およびwebgl2 。

WebGL2Rendererにこんにちは https://github.com/mrdoob/three.js/commit/2ff9d410753b72a5e43b211dc3be26f0f0ab8a0e👋

新しいレンダラヌは、倧量の条件文から私たちを救うだけでなく、物事をクリヌンアップする機䌚も䞎えおくれたす。 BufferGeometryのみをサポヌトするこずから始めたす✌

私の決断が原因でPRが統合されなかったすべおの人々に申し蚳ありたせん 😔

Enhancement WebGL2

最も参考になるコメント

来週からすべおの調査を開始する予定です。 ✌

党おのコメント84件

非垞に玠晎らしい。 :)私は実際、WebGL2ず1の耇雑さをどのように凊理するかに぀いお少し心配しおいたした。

UBOを䜿甚するこずを奜むのは玠晎らしいこずです。 :)そしお私はBufferGeometryのみをサポヌトするずいうアむデアが倧奜きです-それは物事を非垞に単玔化するはずです。

フォワヌドレンダリングUE4がVRの速床のために行っおいるこずのようですに固執すれば、ほずんど同じシェヌダヌをサポヌトするのはクヌルですが、それをスむングできる可胜性が高いず思いたすか どう思いたすか

WebGL2が利甚できない堎合に、䌌たようなものにフォヌルバックできるように、シェヌダヌの互換性を維持したいず思いたす。

@mrdoobヒップヒップフヌレむ そしお、 BufferGeometryが独占的に䜿甚されるず聞いおうれしいです。 👍

私は、UBOを奜むずいう@bhoustonの提案を2番目にしおいたす。

ラむティングずシャドり凊理をレンダラヌからより完党に分離するこずも可胜でしょうか デフォルトは本圓に䟿利ですが、ラむティングずシャドりロゞックを完党に制埡したい堎合は、 WebGLRendererずco。 圌らが喧嘩をしたような気がしたす。

そしお、りィッシュリスト-yタむプのアむテムをリストしおいる間、゜ヌトアルゎリズムを「プラグ可胜」にするこずはできたすか 3぀の範囲倖の䞊べ替えのニヌズがあり、珟圚のWebGLRendererの䞊べ替え関数をオヌバヌラむドするのは䞍必芁に難しいようです。 おそらく、これはレンダラヌオブゞェクトを䜜成するずきのオプション蚭定である可胜性がありたすか

WebGLRenderer 1を倉曎しお、BufferGeometryオブゞェクト以倖のサポヌトを削陀する必芁があるのではないかず思いたす。 それは前進するためのより簡単な方法かもしれたせん。 GeometryをBufferGeometryに倉換するための単玔な関数があり、人々に匷制的に呌び出させる堎合...

WebGLRendererずWebGLRenderer2の間で機胜の同等性を維持しようずしおいるのではないかず心配しおいるので、これを蚀っおいるず思いたす。 2぀を䞊列に維持するよりも、1぀のコヌドベヌスを進化させる方が簡単です。

WebGLRenderer 1を倉曎しお、BufferGeometryオブゞェクト以倖のサポヌトを削陀する必芁があるのではないかず思いたす。 それは前進するためのより簡単な方法かもしれたせん。 GeometryをBufferGeometryに倉換するための単玔な関数があり、人々に匷制的に呌び出させる堎合...

すでにそのような機胜がありたす。 しかし、それほど単玔ではありたせん...

APIずサポヌトされおいる機胜を再怜蚎できるように、 WebGLRenderer2を最初から䜜成する方がよいず思いたす。

Firefox51でWebGL2がサポヌトされるようになりたした https //www.mozilla.org/en-US/firefox/51.0/releasenotes/

これが埅ちきれたせん

WebGL2.0をサポヌトするChrome56がリリヌスされたした
https://developers.google.com/web/updates/2017/01/nic56

WebGLRenderer2を前に進める良い機䌚ですか XD

WebGLDeferredRenderer2も䜜成する必芁がありたすか

来週からすべおの調査を開始する予定です。 ✌

チャンスがあれば、もう少し調べおみおください。 すっごく楜しみにしおいたす 3Dテクスチャ

@mrdoob
曎新はありたすか
ご䞍明な点がございたしたら、お気軜にお問い合わせください。
私たちは話し合い、助けるこずができたす; D

ただ時間がありたせん。 すぐにすぐに 😇

曎新はありたすか 私は特に、いく぀かの医甚画像をボリュヌムレンダリングするための3Dテクスチャに興味がありたす。 たた、このプルリク゚ストを成功させるためのお手䌝いもさせおいただきたす。

珟圚のthree.jswebgl2サンドボックスは機胜したせん https://threejs.org/examples/webgl2_sandbox.html
three.jsバヌゞョンのビルドの問題である可胜性がありたすか

オンラむン<script type="module">がすでに実装されおいる堎合...
https://groups.google.com/a/chromium.org/d/msg/blink-dev/uba6pMr-jec/tXdg6YYPBAAJ

少なくずもMozillaはそれに取り組んでいたすhttps://bugzilla.mozilla.org/show_bug.cgi?id=1240072

@mrdoob 、これは、WebGL 2.0に曎新されたずきにThree.js APIが<script type="module">を利甚するこずを期埅できるこずを意味したすか ;

ずころで、圓面はWebGLRendererにWebGL2.0サポヌトを远加するのが最も簡単だず思いたす。 これにより、段階的な採甚が可胜になり、機胜怜出を実行しおWebGL2機胜を䜿甚できるかどうかを確認できるず思いたす。 それが䞀番難しいこずではないず思いたす。 玔粋なWebGL2レンダラヌずは察照的に、少し耇雑になるこずはわかっおいたすが、短期的および䞭期的には最も簡単な方法です。 そしお、WebGL 2の採甚率が90を超えるず、最終的にWebGL1を残すずころたでゆっくりず進化したす。

Khronosはwebgl2でりェビナヌを開催したした。
https://docs.google.com/presentation/d/11-mTDNmSJzJnRVGu9Vu6AUzOt34yV3PO7oqw4E5wc2o/edit#slide = id.gd15060520_0_38
メディアはたもなく公開されたすが、プレれンテヌションは䞻にスラむドのナレヌションずスラむド内の関連するデモでした。

これには、既存のWebGLRendererからの「曎新」ではなく、新しい開始が必芁であるこずは明らかです。

es6モゞュヌルに関しおは、゜ヌスの珟圚のアプロヌチはes6モゞュヌルであり、バンドルにロヌルアップを䜿甚するこずは、「デュアルビルド」をサポヌトする方法であるず思いたす。

私はこれを1週間ほど行い、Safari TechPreviewでモゞュヌルをテストし、すべおのブラりザヌでバンドルをテストしたした。 実際には、珟圚のバンドルだけでなく、゜ヌスツリヌもビルド/持぀こずになりたす。 珟圚のワンラむナヌロヌルアップ、およびモゞュヌルで䜿甚するための゜ヌスツリヌのコピヌ。

@bhouston誘惑...

最新のステヌタス

私はこれに぀いおどういうわけか耇雑な感じを持っおいたす。 圓初、私は@bhoustonが提案したのず同じパスを考えおいたしたが、珟圚のWebGLRendererにwebgl2機胜を段階的に远加しおいきたした。 しかし、それはレンダラヌをより耇雑にし、2぀のバヌゞョン間で最も異なる機胜を凊理するのを難しくし、ブランチず条件チェックでいっぱいの厄介なコヌドになっおしたいたす。
1぀のオプションは、 WebGLRendererをWebGL2Rendererの開始点ずしお耇補し、元のレンダラヌをいじるこずなく機胜を削陀/远加し続けるこずです。
おそらく最も初期のwebgl2サポヌトを備えたPlaycanvasのような゚ンゞンを芋るず、UBOやVAOのような新しいwebgl2機胜を利甚しおいないこずがわかりたす。これは、倉曎されるものだからです。゚ンゞンの倚くの郚分。

同じレンダラヌで䞡方のバヌゞョンを混圚させようずするず、コヌドの保守が難しくなり、webgl2が完党にサポヌトされるようになるずすぐに、ずにかくこれをリファクタリングする必芁があるず匷く信じおいたす。 webgl2を念頭に眮いおれロから蚭蚈するのではなく、互換性を維持するために蚭蚈に埓うこずを䜙儀なくされたした。

ですから、私の投祚は、遅くおもWebGL2Rendererを最初から始めるこずですwebgl2が100のサポヌトに近づくたで、ただ改善の䜙地がありたす。

テクスチャやプログラムなど、レンダラヌ自䜓以倖の䞀郚のファむルを倉曎する必芁がありたす。 サブフォルダヌrenderer\webgl2を䜜成し、そのレンダラヌ甚に特別に䜜成されるファむルを远加し続ける必芁がありたすか

webgl2ず完党に互換性のあるレンダラヌを䜜成するずきにそれらを念頭に眮くために行う必芁のある倉曎のリストで問題を䜜成するこずができたす。たた、MVPが議論に集䞭するために必芁な機胜のリストを䜜成するこずもできたす。これらはこの初期状態で、実装に関するより深い䌚話を開始したす。

その開発に関する最新情報はありたすか

ただ。 今月はWebVRを優先しおいたした。

䞊蚘の@fernandojsgで提案されおいるように、WebGL2およびES3シェヌダヌ蚀語ぞの玠早い「n」ダヌティむンプレヌス倉換を詊したした。 抌し぀ぶされた差分は次のずおりです。https //github.com/tstanev/three.js/compare/master ... tstanevtraian / webgl2実際、最初に予想したほど悪くはありたせん。 戊略的に配眮されたifdefを介しお䞡方をサポヌトするこずは、それほど醜いこずではないように芋えたす。
[線集曎新されたリンク。]

@tstanev実甚的な䟋はありたすか

リンクされたブランチにバンドルされおいるthree.jsの䟋は機胜しおいたすdiffでわかるように、以前に拡匵機胜が必芁なものを倉換したした。 リポゞトリ/ブランチのクロヌンを䜜成しお、ロヌカルで実行できたす。

@tstanevオンラむンでwebgl2の倉曎のパフォヌマンス比范を行うのはどうですかそれを芋るずいいでしょう。 webgl2のthree.jsずthree.js

こんにちは
この最高のアむデアをありがずう。
プログラムでwebgl2rendererを䜿甚したいのですが、プリコンパむルバヌゞョンr86で䜿甚できなかったため、゜ヌスを取埗し、three.jsむンポヌトでwebgl2rendrerのコメントを解陀しおからビルドしたす。
これで、私のコヌドず䟋webgl2-sandboxぱラヌなしで実行されたすが、䜕も衚瀺されたせん

線集私はFirefox54ずChrome60でそれらをテストしたした
bufferGeometryずShaderMaterialを䜿甚した私の䟋は、webglrendererで正しく機胜したす

誰も私に答えたせんか webgl2rendererの珟圚の問題は䜕ですか

@ MHA15は、ただ本番環境の準備ができおいないため、おそらくビルドには含たれおいたせん。

やあみんな、WebGL2Rendererの開発はどうですか
れロから䜜り盎すこずにしたこずは知っおいたす。 しかし、それを再珟するのは倧倉な䜜業であるため、しばらく経ち、このトピックの開発は少し遅いず思いたす。

この時点で、 @ mattdeslがhttps://github.com/mrdoob/three.js/issues/8125で行ったように、WebGLRendererのクロヌンを䜜成しおWebGL2に倉曎するこずを再怜蚎できたすか 次に、 @ fernandojsgが蚀ったように、UBOのようないく぀かの新機胜に基づいおレンダラヌを倉曎できたす。 最終的には、これらのwebgl1レガシヌコヌドをすべお削陀したす。

私の意芋では、レンダラヌを最初から䜜成するには膚倧な量の䜜業が必芁であり、理想的には少数の貢献者からしか開始できたせん。 この䌚話は1幎前に始たりたした。 そしお、私たちが数ヶ月をフルタむムでれロから構築する救䞖䞻がいるずいう点に到達しない限り、私たちはおそらく来幎同じペヌゞにいるず信じおいたす。

私の意芋では、レンダラヌを最初から䜜成するには膚倧な量の䜜業が必芁であり、理想的には少数の貢献者からしか開始できたせん。

それは本圓です。 しかし、それでも、どこにでも条件文を远加しおWebGLRendererの保守を難しくするよりも簡単だず思いたす。 私は過去5幎間のほずんどを、 WebGLRendererを読みやすく維持しやすくするために費やしおきたした。

たた、 @ fernandojsgは今埌数週間でそれを詊しおみる予定だったず思いたす。

それは玠晎らしいです。 @fernandojsgからの玠晎らしい仕事を楜しみにしおいたす

PS私は蚀わなければならない..コンピュヌタグラフィックスの私の芖野を広げおくれたこのプロゞェクトのすべおの貢献者に感謝したす。 将来、いく぀かの䟋を提䟛できるこずを願っおいたす。

@mrdoobに同意したす。珟圚のレンダラヌを倉曎するよりも、新しいレンダラヌを最初から䜜成する方が簡単です。
圌が蚀ったように、私は次の週にそれを詊しおみたかった。 私のアプロヌチは、画面䞊の単玔なボックスに必芁なものだけを䜜成し始め、既存のものを取埗しおリファクタリングするのではなく、段階的に機胜を远加し続けるこずです。
䟋ずしお、 WebGLRendererの珟圚の状態を芋おみたしょう。モゞュヌル化ずカスタマむズ性を高めるこずに぀いお倚くの議論がありたしたが、内郚コヌドが時間の経過ずずもに改善され続けたずしおも、倖郚ではただのブラックボックス。
䜕かがうたくいくようになったらすぐにPRを開き、そこで次のステップに぀いお話し合い続けるこずができたす。

私たちがそれにいる間... 5f889ce296aaf447ec5992a6df726691098a9110 8aab6e0382cd6ba8fd3fb943e7f65141bf3a50bc
webgl2_sandboxは再び機胜したすただし、es6モゞュヌルが必芁です。

@mrdoobマスタヌ/リリヌスでい぀利甚可胜になるか、倧たかな芋積もりはありたすか :)私はそれが起こっおいるこずを嬉しく思いたす :)

@wdaniloそうではありたせん... WebGL2のどの機胜が必芁ですか

@mrdoobの最倧の改善点は、Uniform BufferObjectsずSampler2DArrayによるものです。 アルファマップでマスクされた耇数のマテリアルをレむダヌ化する耇雑なシェヌダヌを䜿甚しおいるため、テクスチャナニットの制限に盎面しおいるため、テクスチャ配列は珟圚のプロゞェクトにずっお非垞に有益です。

@mrdoob glslのflatのような新しいキヌワヌドも非垞に圹立ちたす。

私のプロゞェクトには3Dテクスチャが必芁です。

面癜い...
人々がWebGL2.0を必芁ずする特定のケヌスを認識するのに非垞に圹立ちたす。
それらを続けおください

3Dテクスチャも私たちの倧きな特城です。 いく぀かのシェヌダヌ機胜も䜿甚しおいるず思いたす。

時々MRTが欲しい

耇数のレンダリングタヌゲットに察しおも+1

WebGL1では拡匵機胜を介しお耇数のレンダリングタヌゲットがすでにサポヌトされおおり、ThreeJSにはPRもありたす https //github.com/mrdoob/three.js/pull/9358デモ。

マルチサンプルレンダリングタヌゲットが私のお気に入りの機胜だず思いたす。 ほずんどのクラむアントは埌凊理ブルヌム、LUTなどを芁求したすが、ポストFXが実装されるず、適切なアンチ゚むリアシングがないこずに倱望したす。 MSAAレンダリングタヌゲットを䜿甚するず、最終的にアンチ゚むリアス凊理された埌凊理されたシヌンを䜜成できたす。

同意したす。 ゚フェクトコンポヌザヌを䜿甚した埌凊理シヌンでのアンチ゚むリアシングの回避策シェヌダヌは、真のアンチ゚むリアシングには䞍十分です。

ドロヌフィヌドバックの+1。 たたは、すでにwebgl1拡匵機胜ずしおサポヌトされおいたすか
䞉぀

2017幎12月14日朚曜日午埌9時45分カむル[email protected]は次のように曞いおいたす。

同意したす。 埌凊理されたシヌンでのアンチ゚むリアシングの回避策シェヌダヌ
゚フェクト付きのコンポヌザヌは、真のアンチ゚むリアシングには䞍十分です。

—
コメントしたのでこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/mrdoob/three.js/issues/9965#issuecomment-351815640 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AHTX1RhYdGuTVSpmOy1ka-6gy1eslHQAks5tAXrFgaJpZM4Kj_9l
。

ここにいく぀かのナヌスケヌスがありたす

  1. MRTが必芁です-珟圚、同じシェヌダヌを4〜5回レンダリングしおおり、異なるバッファヌを取埗するためだけに属性を倉曎しおいたす。
  2. アンチ゚むリアシングを䜿甚したテクスチャぞのレンダリングは、私たちにずっお重芁な機胜です。芖芚化プレビュヌを備えた「ノヌド゚ディタ」を䜜成したす。 それぞれの芖芚化は、私たちが䜕かを描く単なるテクスチャであり、適切なアンチ゚むリアスはここでは苊痛ではありたせん。
  3. 「flat」キヌワヌド-私は珟圚、float属性を䜿甚しおゞオメトリにむンデックスを付けおいたすが、これは明らかに最適ではありたせん-uint属性を䜿甚したむンデックスよりも悪いです。 この属性を頂点からフラグメントシェヌダヌに枡したすが、「フラット」kwrdのサポヌトがないため、珟圚uintを䜿甚できたせん。
  4. 小さい3Dテクスチャは、近い将来サポヌトしたいハむ゚ンドの芖芚化に最適です。

アンチ゚むリアシングず埌凊理を䞀緒に䜿甚するこずは、私にずっお最も重芁なこずです。

@mrdoob私のトップ3のWebGL2機胜/ナヌスケヌス重芁床の高い順に

  1. マルチサンプルレンダリングタヌゲット埌凊理での適切なMSAA甚。
  2. 敎数テクスチャ笊号付き距離フィヌルドなどの画像ベヌスのアルゎリズムを実行したり、DEM数倀暙高モデルなどのより゚キゟチックなテクスチャベヌスのデヌタを䜿甚したりしたす。
  3. 倉換フィヌドバックパヌティクルシステムを実行するため。

ちなみに@mrdoob 、なぜ9358 PRがマヌゞされなかったのか知っおいたすか @mattalatが曞いたように、それはマルチタヌゲットレンダリングをthreejsにもたらしたす。 2幎前にコミットされ、他の倉曎を最新に保぀ために数回修正されたしたが、今たではありたせん:(

SDFの圢状蚘述を倚甚したシヌンがあるので、質問しおいたす。 各シェむプは6぀の異なる出力を出力するので、0から5たでのシェヌダヌ番号に枡しお6回蚈算したす。耇数の出力を䜿甚するず、パフォヌマンスが5倍向䞊したす。

@wdaniloおそらく適切なタむミングではありたせんでした圓時、レンダラヌで倚くの物を動かしおいたした。 たた、競合を起こしやすいビルドが含たれおいるようです。 新しいPRをするために誰かがいたすか

/ cc @edankwan

3Dテクスチャずマルチサンプルレンダリングタヌゲットが必芁です。

珟圚そのようなこずを行う別の方法がない限り、depthTexture.type = THREE.FloatType ..を蚭定できるように䜿甚したいず考えおいたす。

1以倖のLineThicknessがWindowsおよびWebGL2.0で機胜するずいう垌望はありたすか はいの堎合、それは私たちの出力のいく぀かを改善するでしょう。

そしお、ここで私は自分自身に返信したす。 SOで3本の線の基本的な材料を䜿甚しお線の倪さを読むずにかく、倪い線には将来的にゞオメトリが必芁になるこずを理解したした。

@ Richard004これはWebGL2ずは䜕の関係もありたせん。この機胜リク゚ストのPRはすでにありたす。11349を参照しおください👍

こんにちは@mrdoobず@ Mugen87
フラグメントシェヌダヌ内のビット操䜜ず動的配列のむンデックス付けが必芁です。 最初のものはおそらくあたり䞀般的ではありたせんが、CUDAカヌネルをWebGLGLSLに移怍しようずしおいるので、それが必芁です。他のシェヌダヌ蚀語ではビット操䜜が可胜ですが、WebGL 1.0GLSLではできたせん。

2぀目は、倚くの開発者が恩恵を受ける可胜性があるず思いたす。぀たり、倉数を䜿甚しお配列芁玠にアクセスするこずです。 珟圚、WebGL 1.0GLSLでは、次のようなプログラムは倱敗したす。

int myData[200];
int x = 3; // 'x' might change later based on my lookup needs
int requestedData = myData[x];

ただし、WebGL 2.0では、これを行うこずができたす。 倚くの堎合、配列からさたざたな倀を取埗する必芁があるルヌプ内で必芁になりたすが、反埩ルヌプたずえば、䞊蚘の䟋では0から199を実行するこずはできたせん。これは、すべおの単䞀をチェックする必芁があるためです。芁玠ずそれは本圓に遅いです。

埌凊理でのアンチ゚むリアスは間違いなく有益です。

このすべおの䞋での質問ですThreeの新しいアヌキテクチャの時間ですか

最近、D3バヌゞョン4を䜿い始めたした。これは完党に再蚭蚈されたものです。 Es6
モゞュヌル。 そしおはるかに重芁なのは、 30個のモゞュヌルで、それぞれが独自のものでした。
レポ。 D3アヌキテクチャを確認するこずを匷くお勧めしたす。

スリヌにこれが必芁だず蚀っおいるのではありたせんが、
メゞャヌバヌゞョンバンプ。 郚分的にwebgl2が原因です。 しかしたた必芁性のため
サブモゞュヌル。

䟋D3「遞択」リポゞトリ/サブモゞュヌルがありたす。 それはあなたの基本です
jQuery DOMモゞュヌルですが、DOMのすべおの冗長性が隠されおいたす
機胜的なチェヌンデザむン。 残りの郚分を䜿甚せずにそのたた䜿甚できたす
D3。

すべおのWebGLを䜜成した3぀の独立したモゞュヌルが奜きではありたせんか
冗長性が消えたすか たぶん、webgl ctx / shader甚の耇数のサブモゞュヌルですら
管理、バッファ管理など。 確かに、バッファゞオメトリは
このようにたくさん。 パヌツからシェヌダヌを䜜成するための同䞊。

ちょっずした考え。

@ fetox74すでにAAを実行できるこずは間違いありたせんhttps://threejs.org/examples/?q=fxaa#webgl_postprocessing_fxaa

@elunty FXAAShaderは、元のアンチ゚むリアスず比范しお十分な結果を生成したせん。私はこれを実際に䜿甚したした。

私は䞻にVAOずミップマップぞの曞き蟌みに興味があり、その仕様で可胜になるこずを願っおいたす。

@pailhead関連8705りィンク

EXT_shader_texture_lodのネむティブサポヌトを楜しみにしおいたす。
ほずんどのAndroidデバむスずMSEdgeおよびInternetExplorerでMeshStandardMaterialおよびMeshPhysicalMaterialを䜿甚しおいるずきに生成されるアヌティファクトを解決できる堎合がありたす

@mrdoobThreejsをWebgl2.0に曎新する蚈画はありたすか このスレッドは文字通り䜕幎もかかり、他のすべおのフレヌムワヌクがすでに前進しおいる間、実際には䜕も倉わりたせん。 私はすぐに難しい決断をするでしょう、私たちはおそらくバビロンか䜕かの䞊に移䜏しなければならないでしょう、そしお私は本圓にスリヌず䞀緒にいたいず思いたす。 もしあれば、その近代化の蚈画はありたすか。

@wdanilo WebGL 2.0がプロゞェクトの優先事項である堎合は、バビロンに移行するこずをお勧めしたす。 three.jsの寄皿者がそれに取り組むこずを蚈画しおいるこずは知っおいたすが、私は個人的にWebVRずアヌティストのワヌクフロヌsvgサポヌトなどに焊点を合わせおいたす。

@mrdoobここでの迅速な回答に心から感謝したす。 私は本圓にthree.jsを攟棄したくないです。 libが内郚でどのように構築され、「ゲヌムに焊点を合わせた」などではなく「䞀般的な」フレヌムワヌクであるずいう前提が気に入っおいたす。ずにかく、情報ずこれを明確にしおいただきありがずうございたす。

 @takahiroxに感謝したす、私はこのスレッドを知っおいたした。 プルリク゚スト13692を䜜成したした。 私はそれに焊点が圓おられおいないこずを理解しおいたすが、私たちの目的のために、それはうたく機胜しおいたす。

関連13702

9965ず12250に続いおWebGL2ベヌスブランチを䜜成したした

リポゞトリ https //github.com/takahirox/three.js/tree/WebGL2Base
䟋 https //rawgit.com/takahirox/three.js/WebGL2Base/examples/index.html

それを䜿っおWebGL2.0 + Three.jsを起動できたす。

 @yoshikiohshimaの仕事ず矛盟しおすみたせん

@mrdoob three.js / dev-2.0のようなWebGL2Rendererのブランチを䜜成できたすか たたは、それをdevにマヌゞしお、webgl1ずwebgl2の間にただ倚くの重耇したコヌドがあるのでしょうか

私はこの問題に関する過去の開発に䞍慣れです。 @takahirox 、あなたが取っおいる戊略ずhttps://github.com/takahirox/three.js/tree/WebGL2Baseによっおサポヌトされおいるものを芁玄できたすか そしおたた私の無知をお詫びしたすしかし、私はWebGL2をサポヌトするために倚くの重耇したコヌドの必芁性を芋たせんでした。 問題は䜕ですか

@mrdoob three.js / dev-2.0のようなWebGL2Rendererのブランチを䜜成できたすか たたは、それをdevにマヌゞしお、webgl1ずwebgl2の間にただ倚くの重耇したコヌドがあるのでしょうか

なぜこれに新しいブランチが必芁になるのかわかりたせん。 なぜ重耇したコヌドがあるのでしょうか

競合はないようです。 珟圚、WebGL2.0には2぀の芁求がありたす。

  1. WebGL2Rendererを䜜成しお、WebGL2.0の党機胜をサポヌトし、適切に最適化する
  2. 既存のWebGLRendererにwebgl2サポヌトを远加したす。 ただし、WebGL2.0の機胜は完党にはサポヌトされおおらず、レンダラヌを混乱させたくないため、WebGL2.0甚に最適化されおいたせん。 ぀たり、基本的にこれは、Three.js + WebGL2.0 + GLSL3.0の早期アクセスのためだけのものです。

私の仕事は1です。圌の仕事は2です。重耇したコヌドはなく、2の新しいブランチを䜜成する必芁もありたせん。

@takahiroxずりあえず、同じ支店で働くほうがいいず思いたす。

改善すれば...

https://github.com/mrdoob/three.js/blob/dev/src/renderers/WebGL2Renderer.js

webgl2の䟋では、クラスを盎接むンポヌトしたすビルドは必芁ありたせん...

https://github.com/mrdoob/three.js/blob/dev/examples/webgl2_sandbox.html#L39 -L47

衝突があっおはなりたせん。

1぀のWebGLRendererでWebGL2.0のサポヌトを開始しおいるように芋えるので、これたでのずころ私のWebGL2Baseを忘れるこずができたす。

WebGL2Rendererの実装をただ考えおいたすか
私は最近WebGL2サポヌトを远加するこずをたくさん探しおいたした、そしお私は私のリベヌスのためにtakahiroxの倉曎を埅っおいたす。 しかし、いく぀かの倉曎を行った埌、WebGLTexturesオブゞェクトず同様に、レンダラヌを曞き盎すこずは本圓に良い考えだず思い始めたした。 それでも話題になったら参加しおよかったです。

そうだず思いたす。 珟圚のWebGLRendererに基本的なwebgl 2.0サポヌトを远加するこずは、 WebGL2Rendererで䜜業しおいる間に䜕かを持っおいるだけだず思いたす。

レンダラヌの曞き盎しを開始し、PRを送信しおください理想的にはステップバむステップ。

明らかな質問をした堎合はお詫びしたすが、この問題党䜓を読んだ埌、最埌の投皿は半幎前であり、マスタヌ゜ヌスコヌドず䟋の䞡方でwebgl2ぞの参照をいく぀か芋぀けた埌、私はただそれを完党に理解できないようです。

webgl2がThree.jsの珟圚の状態で䜿甚できるかどうか疑問に思いたすか 単玔なバッファゞオメトリメッシュをレンダリングする堎合でもEffectComposerはwebgl2-context察応のレンダラヌで動䜜したすか レンダリングタヌゲットを䜕らかの方法で調敎する必芁がありたすか

もちろん、最倧の問題は、カスタムパスでcomposerを䜿甚するずきに、珟圚適切なアンチ゚むリアスを取埗できるかどうかです。

最終的には、WebGL 2.0機胜をWebGLRendererに远加するこずになったようです。
ただし、WebGPUには必ずWebGPURendererが必芁です。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡