2018-07-25 (水)
A-Frameでビデオテクスチャを使っている場合にVRモードにすると,よくわからない壊れ方するのが気になってA-Frameのコード見てみる.
他のオブジェクトの形っぽいものが書き込まれたりするので,他のコンポーネントが意図せデプスバッファ壊してるんじゃないかと思ってテクスチャの管理周りを読んでみると,video要素のときはテクスチャキャッシュのキーに要素のid使ってる...
JavaScript内でcreateElementして後から画面に出してるのだけど,createElement時点でテクスチャが生成されてしまってて,空のIDでテクスチャ作ってしまう.仕方ないので生成直後に仮の適当なIDを付けておくようにしたら直った.
この挙動はわかりにくい...
VRモードのとき壊れるのは,Oculus Goコントローラのために使ってるlaser-controlsあたりに同じく空のIDを使う問題がありそう.