Lightwave3DのLWOB(古い版)読み込み関係のfixと、断念したLWO2読み込みの実装

もう3ヶ月ほど前の話ですが、拡張現実(AR)のプログラムを学祭で出そうということで、NyARToolkitとJava3Dを使って実現したのですが、その時、Lightwave3Dを使ってモデルデータを作成してもらっていたので、これをいかに読み込むか考えていました。
ところが残念ながら、Java3D標準のLightwave3Dファイル読み込み機能は、なんと10年?ほど前のLWOBフォーマットのみにしか対応していなかったのです。
もうこのフォーマットは廃れていて、どこでも使われていないようでした。
そこで、LWO2フォーマットの読み込みをできるように、ソースを拾ってきて改良していたわけなのですが、サブパッチの読み込みあたりで、知識と技量が足りず断念しました。


ちなみに結局は、Metasequoiaで読み込んで.mqoで保存して、それをJava3D用.mqoローダを配布してくれている人のサイトからお借りしてロードする、という流れでした。
http://kurusugawa.jp/2007/07/17/java3d%E3%81%A7metasequoia%E3%81%AE%E3%83%A2%E3%83%87%E3%83%ABmqo%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B/


なんか同意書にサインする必要があるとかで、LWOB読み込みに関するパッチを(面倒があって)投げれていない分と、LWO2に途中までとりかかったコードを、とりあえずgithubにぶち込みました。元のソースはBSDですが、私の部分はパブリックドメイン扱いにしておくので、LWOBのfixをJava3Dプロジェクトに送ってくれる人や、LWO2を引き継いでくれる人が入れば、他力本願で申し訳ないのですが使ってください、ということにしておきます。
https://github.com/ypresto/java3d_lw3dloader