TGAローダ

mqoビューワ作ったのはいいが、TGAテクスチャが読み込めない事態になったので作り始めた。
探せばTGAローダくらいありそうだが、javaの練習がてら車輪の作成を試みる。


問題のエラー箇所

TGADecoder Compressed True Color images not supported

http://libjogl-java.sourcearchive.com/documentation/1.1.1plus-pdak1-3/classcom_1_1sun_1_1opengl_1_1util_1_1texture_1_1spi_1_1TGAImage_668ca43fda6423e5b6a709f514007487.html#668ca43fda6423e5b6a709f514007487
JOGLの
com.sun.opengl.util.texture.TextureIO
がRLE圧縮のTGAを読めないということの様子。
GIMPで適当に作ったのがそのRLE圧縮になっている。


で、
http://local.wasp.uwa.edu.au/~pbourke/dataformats/tga/
を見ながら
http://stackoverflow.com/questions/1514035/java-tga-loader
をベースに進めた。
とりあえず、24bitと32bitの無圧縮tgaの読み込みまで完了。
もう少しがんばればRLE圧縮くらいならなんとかなるじゃろう。
RLE圧縮の他に本格?圧縮もあるみたいだがそっちはやらない。
読み込み検証用にImageIOでpngに書き出すテストコードをmainに書いてみた。
上下反転を直すのに、flipVerticalとかお手軽メソッドは無いのかー。

RLEデコード完了

http://d.hatena.ne.jp/nakamura001/20090207/1234006256
も参考にさせていただきました。