pvrtextool cl不生成标准头

时间:2012-03-14 02:21:38

标签: ios opengl-es-2.0 powervr-sgx

我正在使用我今天下载的最新的pvrtextoolCL。

问题在于它不会生成与apple的texturetool相同的标题或其在线文档中的标题。如果我在gui工具中使用遗留保存,它可以工作,但我需要命令行工具的选项。

是否有其他人遇到此问题,我该怎么做才能解决问题?

2 个答案:

答案 0 :(得分:9)

如果Legacy Save As选项适用于您,则您的代码正在解析版本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中。

答案 1 :(得分:0)

为了补充@Snickers方便的帖子,这里有一个关于添加PVRv3解析的GitHub的要点。它适用于Cocos2D,但看起来它主要来自PVR SDK?

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