3

今日ダウンロードした最新のpvrtextoolCLを使用しています。

問題は、アップルのtexturetoolまたはオンラインドキュメントにあるものと同じヘッダーを生成していないことです。GUIツールでレガシーセーブアウトを使用すると機能しますが、コマンドラインツールのオプションが必要です。

この問題を抱えている人は他にいますか?それを修正するにはどうすればよいですか?

4

2 に答える 2

9

従来の名前を付けて保存オプションが機能する場合、コードはバージョン 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 にロードするためのサンプル コードもあります。

于 2012-03-29T14:30:35.363 に答える
0

@Snickers の便利な投稿を補完するために、PVRv3 解析を追加するために GitHub で発見された要旨を次に示します。これは Cocos2D 用ですが、ほとんど PVR SDK から取得されているように見えますか?

https://gist.github.com/robertjpayne/2928080

于 2013-06-25T00:57:07.287 に答える