元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

Java3D対策

障害報告もらってから暫く調査してたんだけど、なにやら原因っぽいものを発見。

カメラ映像を背景にするときに、Behaviorの中でBackground.setImageで背景を再設定する手法で背景を更新しているんだけど、どうやら同じオブジェクトを設定したときの挙動がノートとデスクトップで違うらしい。

恐らくJava3DのOpenGLドライバとDirectXドライバのどちらが有効になるかで、ここの挙動が変わってるんじゃないかと予想してる。

回避作としては、ImageComponent2Dを毎回processSimulusの中で作り直すこと。
BufferdImage自体は使いまわすから、バカみたいなコストはかからないっぽい。

今思いついたけど、2個オブジェクト作って差し替えるのもいけるのかな?
後でやってみよっと。

追記:

なんかOpenGL対応して無いビデオカード積んでるノートとかだと動かないな・・・

フリーのソフトウェア3Dレンダラに対応しようかな。