关于跨平台 OpenGL 纹理图像加载器的建议
我需要将 PNG 和 JPG 加载到纹理。我还需要将纹理保存为 PNG。当图像超过 GL_MAX_TEXTURE_SIZE 时,我需要将图像分割成单独的纹理。
我想用 C++ 来做这个。
我能做什么?
谢谢。
I need to load PNGs and JPGs to textures. I also need to save textures to PNGs. When an image exceeds GL_MAX_TEXTURE_SIZE I need to split the image into separate textures.
I want to do this with C++.
What could I do?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你必须自己编码。这并不难。
You'll have to code it yourself. It isn't difficult.
DevIL 可以加载和保存多种图像格式,包括 PNG 和 JPEG。它附带了将这些图像上传到 OpenGL 纹理的辅助函数(
ilutGLBindTexImage
、ilutGLLoadImage
)以及仅将图像的一部分复制到新图像的函数 (ilCopyPixels< /code>,可用于分割大纹理)。
DevIL can load and save many image formats including PNG and JPEG. It comes with helper functions that upload these images to OpenGL textures (
ilutGLBindTexImage
,ilutGLLoadImage
) and functions to copy only parts of an image to a new image (ilCopyPixels
, can be used to split large textures).对于加载部分 SOIL 看起来相当独立。
For the loading part SOIL looks rather self-contained.