Hi guys!

Расскажу о приимуществах и недостатках о разных видах текстурирования.

Начну с текстурирования не PVR, более простое. Простота заключается в следуещих удобствах:
- Возможность использовать любое расширения картинки с неодинаковой высотой и шириной (желательно до 1024×1024).
- Можно использовать картинки TGA, PNG, JPG, etc.
- Один из значительных плюсов является простота размещения. Создается bound в который всталяется картинка.
- Использование картинок с прозрачностью.

Примеры текстурирования приведены ниже



Пример исходного кода OpenGL Texture2D

Минусы заключаются в том, что загружается долго, если текстур много и памяти много занимает.

Рассказывать про PVR не буду подробно, т.к. можно посмотреть пример apple PVRTextureLoader (где он находится на сайте apple не помню, поэтому выложил на deposit).  Скажу вкратце, что с текстурированием такого типа работает в N раз быстрее. Порекомендую писать sh скрипты для преобразования рисунков.

Пример:

  1. #!/bin/sh
  2. TEXTURE_TOOL=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/texturetool
  3.  
  4. $TEXTURE_TOOL -m -e PVRTC  --bits-per-pixel-2 -o "$1.pvr" -f PVR $1

Пример вызова:
./Script.sh fire.png

И еще один нюанс! PVR только квадратное расширение: 64×64, 128×128, etc.