Top > C++ > GLPIC > プログラムライブラリ

プログラムライブラリ Edit

ロードマップ Edit

  • 0.1:単純なピクセルフォーマットの対応(RGB、RGBAなど)
  • 0.2:OpenGL1.0で扱える無圧縮ピクセルフォーマットの全対応
  • 0.3:S3TCフォーマットの対応(ここまでできたらいいなぁ)
  • 0.4:RLEフォーマットの対応?
  • 1.0:ミップマップ対応

ファイルフォーマット Edit

Ver0.1

構造体 Edit

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
struct GLPicHeader
{
    // 0
    char             signature[3];     ///< シグネチャ。固定文字列が入る。
    unsigned char    version;          ///< ファイルフォーマットのバージョン情報。
    unsigned short   endianCheck;      ///< エンディアンチェック。固定値が入る。
    unsigned char    pixelFormat;      ///< ピクセルフォーマット。
    unsigned char    flagAndMipMapLevel; ///< 最上位ビット:イメージは引き延ばされているか。それ以外:ミップマップの最大レベル。
    // 8
    unsigned short   textureWidth;     ///< テクスチャの横幅。
    unsigned short   textureHeight;    ///< テクスチャの縦幅。
    unsigned short   imageWidth;       ///< 元のイメージの横幅。
    unsigned short   imageHeight;      ///< 元のイメージの縦幅。
    // 16
    unsigned long    pixelDataOffset;  ///< ヘッダの先頭からpixelDataへのオフセット値
    unsigned long    pixelDataSize;    ///< ピクセルのデータサイズ。
    // 24
    unsigned long    userDataOffset;   ///< ヘッダの先頭からuserDataへのオフセット値。
    unsigned long    userDataSize;     ///< ユーザーデータのサイズ。
};
  • endian checkerが0x3412のときは、各データのバイトオーダーを逆にする。
  • user dataが存在しないときは、user data sizeおよびuser data offsetは0。

ピクセルデータ Edit

GLPicHeader_GetImageScaled == GLPicBool_True
画像はテクスチャいっぱいにスケールされている。
GLPicHeader_GetImageScaled == GLPicBool_False
画像は左上に格納され、右および下の余白には0データが格納されている。

ライブラリ Edit

作成すらしていない

メモ(つぶやき) Edit

  • ピクセルフォーマット、4だろうが12だろうが、レッツノートもMacBookも8bitで表現してるっぽい。RGB5A1はちゃんとそのまま対応してるらしい。 -- あっきー? 2007-09-10 (月) 23:33:47

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 10 Sep 2007 23:33:47 JST (6071d)