c++ - 如何在 OSX 下的 SDL/OpenGL 应用程序中加载 JPG/PNG 纹理

标签 c++ macos opengl png jpeg

我正在编写一个在 OSX 下运行的 SDL/OpenGL 应用程序。我必须使用使用 DevIL 库加载 JPG 和 PNG 纹理的现有代码。不幸的是,这在 OS X 下效果很差,所以我决定根本不使用 DevIL,而是使用另一个库重写应用程序的各个部分。我想保持它的灵 active (DevIL 可以处理很 multimap 像格式)并且易于使用。是否有可以推荐的 DevIL 的良好替代品?该应用程序完全用 C++ 编写。

最佳答案

看看 SDL_image图书馆。它提供像 IMG_LoadPNG 这样的功能,可以将您的图片“作为”SDL_Surface 加载。 由于您已经在使用 SDL,因此这应该非常适合您的程序。

样本取自 SDL_image documentation :

// Load sample.png into image
SDL_Surface* image = IMG_Load("sample.png");
if (image == nullptr) {
    std::cout << "IMG_Load: " << IMG_GetError() << "\n";
}

关于c++ - 如何在 OSX 下的 SDL/OpenGL 应用程序中加载 JPG/PNG 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153055/

相关文章:

c# - 将非托管/非托管成员添加到托管类

c++ - 关键字 auto 的惊人有用用法

swift - 在照片项目扩展中显示选定的照片

c++ - 如何在两个不同的 borland builder 窗口中绘制相同的 opengl 图形?

c++ - 为什么在 C++ 的表达式中使用无符号整数时会出错?

c++ - 我应该买哪种书来学习如何在Visual Studio 2010中开发c++应用程序。

macos - Mac OS X/iOS : How to write indexed PNG image using RGBA colours through CGImage?

macos - Darwin 内核架构和 OS X,32 位内核上的 64 位,这是如何工作的?

opengl - 使用 OpenGL 运行 cuda 程序时出现段错误

macos - Mac OSX的构建问题