在 OpenGL 中使用 PNG 纹理的最快最简单方法
Posted
技术标签:
【中文标题】在 OpenGL 中使用 PNG 纹理的最快最简单方法【英文标题】:Fastest Simplest way to use PNG textures in OpenGL 【发布时间】:2010-11-30 23:11:14 【问题描述】:我正在寻找在 OpenGL 中使用 PNG(带有 alpha 值)纹理的最快和最简单的方法。我尝试了许多不同的库,但大多数都臃肿且难以在 Mac 上编译/工作。
我对 OpenGL 纹理和所有“陷阱”不是很熟悉,所以我将重点放在 Simple 上。
如果解决方案涉及链接库,如果有人能给我一个很好的 makefile 示例,那将非常有帮助。
谢谢!
【问题讨论】:
【参考方案1】:你可以试一试SOIL。
【讨论】:
【参考方案2】:sdl 和 sdl_image 是我所知道的最简单的方法: http://www.libsdl.org/ http://www.libsdl.org/projects/SDL_image/
但是,这是针对跨平台的。对于仅限 Mac,我想有一个本机替代方案。
【讨论】:
【参考方案3】:DevIL 可以非常简单轻松地做到这一点,适用于多种格式。它还有一个非常非常类似于 OpenGL 的 API(根据设计,大多数常量是相同的,等等)。我只花了几分钟就将它连接到我拥有的 OpenGL 应用程序中。文档不是很好,但可以完成工作并支持多种格式。
【讨论】:
DevIL 似乎是为 OSX 编译的噩梦。 :(【参考方案4】:glpng 是一个 png opengl 加载器实用程序库,尽管您可以使用 libpng 和 gl 完成它所做的事情,只需一次调用即可将它从 png 文件加载到纹理中
【讨论】:
我无法弄清楚如何链接 glpng。当我尝试编译它以在 MacOSX 上使用时,我遇到了几个我不知道如何修复的错误。以上是关于在 OpenGL 中使用 PNG 纹理的最快最简单方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OpenGL ES 2.0 中使用 png 图像纹理立方体?