Я пытаюсь использовать libpng, чтобы разделить изображение на несколько частей. Причина в том, что я не могу загрузить текстуру размером более 512x512 на аппаратном обеспечении, над которым я сейчас работаю. Я достиг этого раньше со смесью SDL и SDL_Image. Я в основном использовал аргумент srcrect в SDL_BlitSurface, чтобы скопировать только часть изображения, которую я затем преобразовал в текстуру OpenGL. Объединяя это с простым циклом по горизонтали, а затем по вертикали, я смог получить массив текстур, каждая из которых максимально 512x512. Тогда это был просто вопрос отрисовки их в правильном положении.
Прямо сейчас, я не могу позволить себе роскошь использования SDL, поэтому я решил, что можно сделать это непосредственно самому с помощью libpng. Основываясь на некотором поиске, я думаю, что это просто вопрос использования png_read_rows, чтобы прочитать, какие именно части мне нужны. Но вот где я застрял, я не совсем уверен, как это сделать.
Кроме того, если вам интересно, почему я не просто делю изображения в gimp / photoshop / paint или где-либо еще, это потому, что я не контролирую их и загружаю их во время выполнения.
Заранее спасибо за помощь.