我试图使用libpng将图片拆分成不同的块。原因是我无法在我目前正在使用的硬件上加载大于512x512的纹理。我之前用SDL和SDL_Image的混合来完成此任务。我基本上使用SDL_BlitSurface中的srcrect参数来复制图像的一部分,然后将其转换为OpenGL纹理。将它与一个水平方向的简单循环结合起来,然后垂直地获得一个纹理数组,每个纹理的最大值为512x512。然后,这只是把它们放在正确位置的问题。使用libpng将图片“拆分”为片段
现在,我没有奢侈的使用SDL,所以我想通过libpng直接做到这一点是可能的。基于一些谷歌搜索,我认为它只是使用png_read_rows来读取我需要的部分。但这就是我被困住的地方,我不确定如何去做。另外,如果你想知道为什么我不把图像分割成gimp/photoshop/paint或者其他什么,那是因为我不控制它们,而是在运行时下载它们。
感谢您的帮助提前。