今日ダウンロードした最新のpvrtextoolCLを使用しています。
問題は、アップルのtexturetoolまたはオンラインドキュメントにあるものと同じヘッダーを生成していないことです。GUIツールでレガシーセーブアウトを使用すると機能しますが、コマンドラインツールのオプションが必要です。
この問題を抱えている人は他にいますか?それを修正するにはどうすればよいですか?
今日ダウンロードした最新のpvrtextoolCLを使用しています。
問題は、アップルのtexturetoolまたはオンラインドキュメントにあるものと同じヘッダーを生成していないことです。GUIツールでレガシーセーブアウトを使用すると機能しますが、コマンドラインツールのオプションが必要です。
この問題を抱えている人は他にいますか?それを修正するにはどうすればよいですか?
従来の名前を付けて保存オプションが機能する場合、コードはバージョン 2 PVR テクスチャ ヘッダーを解析しています。最新の PVRTexTool と PVRTexToolCL は両方とも、バージョン 3 ヘッダー形式 V3 を使用します。
コマンドラインが必要な場合は、次のいずれかを実行できます
A) -pvrlegacy をコマンド ライン引数として使用する
B) Apple が提供する texturetool を XCode で使用して、テクスチャを圧縮します。
C) バージョン 3 PVR テクスチャ ヘッダーを解析するようにコードを更新する
バージョン 2 PVR テクスチャ ヘッダー
typedef struct _PVRTexHeader
{
uint32_t headerLength;
uint32_t height;
uint32_t width;
uint32_t numMipmaps;
uint32_t flags;
uint32_t dataLength;
uint32_t bpp;
uint32_t bitmaskRed;
uint32_t bitmaskGreen;
uint32_t bitmaskBlue;
uint32_t bitmaskAlpha;
uint32_t pvrTag;
uint32_t numSurfs;
} PVRTexHeader;
バージョン 3 PVR テクスチャ ヘッダー
typedef struct _PVRTexHeaderV3{
uint32_t version;
uint32_t flags;
uint64_t pixelFormat;
uint32_t colourSpace;
uint32_t channelType;
uint32_t height;
uint32_t width;
uint32_t depth;
uint32_t numSurfaces;
uint32_t numFaces;
uint32_t numMipmaps;
uint32_t metaDataSize;
} PVRTexHeaderV3;
バージョン 3 テクスチャ ヘッダーを解析する場合は、次の場所から PowerVR SDK を入手してください。
http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp
PVRTTexture.h ヘッダーを見てください。フラグを定義するすべての列挙型と、メタデータ用の追加の構造体が含まれます。SDK には、ファイルを読み取って OpenGL にロードするためのサンプル コードもあります。
@Snickers の便利な投稿を補完するために、PVRv3 解析を追加するために GitHub で発見された要旨を次に示します。これは Cocos2D 用ですが、ほとんど PVR SDK から取得されているように見えますか?