MasatoMakino / threejs-billboard

billboard module for three.js
MIT License
6 stars 0 forks source link

Canvas 2D Contextを利用したテクスチャを共有しないビルボードを追加する #165

Open MasatoMakino opened 6 months ago

MasatoMakino commented 6 months ago

StageBillboardはpixi.jsの2Dコンテキストのサポート廃止によって削除された。

同様の機能を別のライブラリで再現する。 https://github.com/konvajs/konva

同一の高解像度テクスチャをビルボード間で共有すると、再描画とGPUメモリへの転送がボトルネックとなる。 再描画の頻度が低いビルボードが多種ある場合は、テクスチャを共有しない方がパフォーマンス的に有利になる。

MasatoMakino commented 6 months ago

更新頻度が近いテクスチャを、複数の共有テクスチャにまとめることでパフォーマンスは向上するが テクスチャの描画矩形を管理する複雑さが大きすぎる。

MasatoMakino commented 2 months ago

https://github.com/pixijs/pixijs/pull/10913?utm_source=pocket_shared

Pixi.jsにMultiViewという機能が追加された。これは複数のCanvasに同一のglコンテキストで描画するための機能である。 この機能で本件の問題が解決しないか検討する。