Я создаю игру openGL, и до сих пор я использовал .png в формате RGBA8888 в качестве листов текстур, но они слишком требовательны к памяти, и мое приложение часто дает сбой. Я читал на сайте Apple, что такой формат можно использовать только тогда, когда требуется слишком высокое качество, и рекомендую вместо этого использовать RGBA4444 и RGBA5551 (я уже преобразовал свои текстуры в PVR, но потеря качества слишком велика в большинстве листов спрайтов).
Мне нужно только использовать GL_UNSIGNED_SHORT_5_5_5_1 или GL_UNSIGNED_SHORT_4_4_4_4 в моем вызове glTexImage2D внутри моего класса загрузчика текстур, чтобы загрузить мои текстуры, но мне нужно преобразовать мои текстурные листы в RGBA4444 и RGBA5551, и я не знаю, как я могу этого добиться.