ユーザ用ツール

サイト用ツール


opengl:texturefileformat

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
opengl:texturefileformat [2015/07/04 03:00]
oga [PVR format version 3]
opengl:texturefileformat [2015/07/04 03:11] (現在)
oga [ASTC]
行 2: 行 2:
  
  
-^ file format  ^  R  ^  RG  ^ RGB  ^ RGBA ^ sRGB  ^ mip  ^ cube ^ volume ^ array  ^  float           ^^^     int          ^^^ S3TC/DXT    ^ 3Dc      ^ BPTC     ^ ATITC   ^ PVRTC        ^^ ETC1    ^  ETC2  ^  ASTC      ^^ +^ file format  ^  R  ^  RG  ^ RGB  ^ RGBA ^ sRGB  ^ mip   ^ cube ^ volume ^ array  ^  float           ^^^     int          ^^^ S3TC/DXT    ^ 3Dc      ^ BPTC     ^ ATITC   ^ PVRTC        ^^ ETC1    ^  ETC2  ^  ASTC      ^^ 
-^  :::         ^ ::: ^  ::: ^ :::  ^ :::  ^ :::   ^ :::  ^ :::  ^  3D    ^  :::    16   ^ 32  ^  64  ^  8    16  ^  32  ^ BC1/BC2/BC3 ^ BC4/BC5  ^ BC6H/BC7 ^ :::      v1    ^ v2   ^ :::      EAC    2D  ^  3D  ^ +^  :::         ^ ::: ^  ::: ^ :::  ^ :::  ^ :::   ^ :::   ^ :::  ^  3D    ^  :::    16   ^ 32  ^  64  ^  8    16  ^  32  ^ BC1/BC2/BC3 ^ BC4/BC5  ^ BC6H/BC7 ^ :::      v1    ^ v2   ^ :::      EAC    2D  ^  3D  ^ 
-| DDS (.dds)    Y  |  Y    Y    Y    Y    |  Y   |  Y    Y      Y(e)  |  Y    |  Y  |  -    Y    Y    Y    Y          |        |        |  y(a)    y(b)  |  -    y(a)        |  Y    -   | +| DDS (.dds)    Y  |  Y    Y    Y    Y    |  Y    |  Y    Y      Y(d)  |  Y    |  Y  |  -    Y    Y    Y    Y          |        |        |  y(a)    y(b)  |  -    y(a)        |  Y    -   | 
-| KTX (.ktx)    Y  |  Y    Y    Y    Y    |  Y   |  Y    Y      Y      Y    |  Y  |  Y    Y    Y    Y    Y          |        |        |  Y      |  Y      Y    Y      |      |  Y    -   | +| KTX (.ktx)    Y  |  Y    Y    Y    Y    |  Y    |  Y    Y      Y      Y    |  Y  |  Y    Y    Y    Y    Y          |        |        |  Y      |  Y      Y    Y      |      |  Y    -   | 
-| PVR (.pvr)    Y  |  Y    Y    Y    Y    |  Y   |  Y    Y      Y      Y    |  Y  |  -    Y    Y    Y    Y          |        |        |  -      |  Y      Y    Y      |      |  Y    -   | +| PVR (.pvr)    Y  |  Y    Y    Y    Y    |  Y    |  Y    Y      Y      Y    |  Y  |  -    Y    Y    Y    Y          |        |        |  -      |  Y      Y    Y      |      |  Y    -   | 
-| PKM (.pkm)            |      |      |  -    |  Y   |  -    -      -      -    |  -  |  -    -    -    -    -          |        |  -        -      |  -      -    Y      |      |  -    -   | +| PKM (.pkm)            |      |      |  -    |  y(e) |  -    -      -      -    |  -  |  -    -    -    -    -          |        |  -        -      |  -      -    Y      |      |  -    -   | 
-| ASTC (.astc) |          |      |      |  -    |  -   |  -    y(d)  |  -      -    |  -  |  -    -    -    -    -          |        |  -        -      |  -      -    -      |      |  Y    Y   |+| ASTC (.astc) |          |      |      |  -    |  -    |  -    y(f)  |  -      -    |  -  |  -    -    -    -    -          |        |  -        -      |  -      -    -      |      |  Y    Y   | 
  
   * (a) = Qualcomm(ATI) のコンバータが FourCC を使って格納。おそらく独自仕様。元は Direct3DM 向け。Array 不可   * (a) = Qualcomm(ATI) のコンバータが FourCC を使って格納。おそらく独自仕様。元は Direct3DM 向け。Array 不可
   * (b) = PVRTC 独自仕様。FourCC で格納。Array 不可   * (b) = PVRTC 独自仕様。FourCC で格納。Array 不可
-  * (d) = ASTC の 3D BLOCK 圧縮のみ格納可能。 +  * (d) = DXGI_FORMAT 表現可能なフォーマットのみ Array を格納可能。DX10 拡張ヘッダ必須。 
-  * (e) = DXGI_FORMAT 表現可能なフォーマットのみ Array を格納可能。D3D10 拡張ヘッダ必須。+  * (e) = ETC1 のみ格納可能。 
 +  * (f) = ASTC の 3D BLOCK 圧縮のみ格納可能
  
  
行 123: 行 125:
  
 <code cpp> <code cpp>
 +enum {
 +    KTX_HEADER_MAGIC0     0x58544bab,
 +    KTX_HEADER_MAGIC1     0xbb313120,
 +    KTX_HEADER_MAGIC2     0x0a1a0a0d,
 +    KTX_HEADER_ENDIAN     0x04030201,
 +};
 +
 struct T_KTXHEADER {       // 64byte struct T_KTXHEADER {       // 64byte
     UI32    Identifier[3];     UI32    Identifier[3];
行 167: 行 176:
     * データ並びが KTX 順     * データ並びが KTX 順
  
-<code>+<code cpp>
 struct T_PVR3HEADER {   // 13x4 = 52 struct T_PVR3HEADER {   // 13x4 = 52
     unsigned int    Version;        // 'PVR' 0x03     unsigned int    Version;        // 'PVR' 0x03
行 204: 行 213:
 <code cpp> <code cpp>
 struct T_PVR2HEADER { struct T_PVR2HEADER {
-    unsigned int    hsize;      // == 52 == sizeof(T_PVRHEADER)+    unsigned int    hsize;      // == 52 == sizeof(T_PVR2HEADER)
     unsigned int    height;     unsigned int    height;
     unsigned int    width;     unsigned int    width;
行 241: 行 250:
  
 <code> <code>
-version 1.0+version 1.0  (header.version == 10)
 type: 0=ETC1-RGB, 1=ETC1-RGBA, 2=ETC1-RGB-MIP, 3=ETC1-RGBA-MIP type: 0=ETC1-RGB, 1=ETC1-RGBA, 2=ETC1-RGB-MIP, 3=ETC1-RGBA-MIP
  
-version 2.0+version 2.0  (header.version == 20)
 type: 0=ETC1_RGB, 1=ETC2_RGB, 2=ETC2_RGBA_OLD, 3=ETC2_RGBA, 4=ETC2_RGBA1, 5=ETC2_R, 6=ETC2_RG, 7=ETC2_SIGNED_R, 8=ETC2_SIGNED_RG type: 0=ETC1_RGB, 1=ETC2_RGB, 2=ETC2_RGBA_OLD, 3=ETC2_RGBA, 4=ETC2_RGBA1, 5=ETC2_R, 6=ETC2_RG, 7=ETC2_SIGNED_R, 8=ETC2_SIGNED_RG
 </code> </code>
行 274: 行 283:
  
  
 +
 +===== 更新 =====
 +
 +  * 2015/07/04 : 表を更新、ASTC format 追加、ktx, pvr の header 構造を追加。
  
  
opengl/texturefileformat.1435946424.txt.gz · 最終更新: 2015/07/04 03:00 by oga