pvrtextool cl не генерирует стандартный заголовок - PullRequest
3 голосов
/ 14 марта 2012

Я использую последний pvrtextoolCL, который я скачал сегодня.

Проблема в том, что он не выдает тот же заголовок, что и текстурный инструмент apple, или тот, что содержится в онлайн-документации. Если я использую устаревшее сохранение в инструменте графического интерфейса, оно работает, но мне нужны опции инструмента командной строки.

Кто-нибудь еще имеет эту проблему и что я могу сделать, чтобы исправить это?

Ответы [ 2 ]

9 голосов
/ 29 марта 2012

Если у вас работает устаревшая опция Сохранить как, ваш код выполняет синтаксический анализ заголовка текстуры PVR версии 2.В последних версиях PVRTexTool и PVRTexToolCL используется формат заголовка версии 3 V3.

Если вам нужна командная строка, вы можете либо

A) использовать -pvrlegacy в качестве аргумента командной строки

B) Используйте texturetool, предоставленный Apple с XCode, для сжатия ваших текстур

C) Обновите ваш код для анализа заголовка текстуры PVR версии 3

Версия 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;

Заголовок текстуры PVR версии 3

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.

0 голосов
/ 25 июня 2013

В дополнение к удобному посту @Snickers, на GitHub обнаружена суть для добавления анализа PVRv3.Это для Cocos2D, но похоже, что он в основном взят из PVR SDK?

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

...