TLG5、TLG6。特にTLG6はPNGよりも高圧縮な可逆圧縮で
SIMD命令に最適化してあり、展開も2倍以上速いと
ゲームにとってはいいことずくめ。私のゲームでも使ってます。
・・・が、表示にOpenGLを使っている以上、BMP形式でのデコードを
想定されているのが若干もったいないのです。
OpenGLは基本的にRGBで色を指定するのですが、BMPは
BGRで色を保存しています。
したがって、OpenGLのExtentionであるGL_BGR、GL_BGRAを
使用するか、圧縮の前あるいは展開の後にデータを変換する
必要があるわけです。
Extentionを使ってしまうともしかしたらLinux等でそのまま
コードが使えない
(まぁ、今現在の状態でコントローラ入力部分で使えないンですけど)
可能性が出てくるわけで、
では、展開の後はどうかというと、展開の度に変換を
行わなければならず、折角の展開の速度が落ちてしまいます。
よって、圧縮前が最良だろうと考えたわけで、
吉里吉里のソースを
作成しました。
・・・しかし、圧縮率が低い!
同じBGR形式のデータにしても約1.5倍ほど容量が
大きくなってしまいます・・・
さて、どうしたものやら。
お陰で徹夜してしまいました。でも出来ない・・・
う~む。
追記
エンコード作れました。
http://gameprogrammingbyumi.blogspot.jp/2011/11/tlg6_14.html
0 件のコメント:
コメントを投稿