如何在 OpenGL ES 中读取和写入文件

How to read and write to a file in OpenGL ES

如何在 OpenGL ES 中读取或写入文件(png、txt、jpg...)?目标是 Android 到 Visual Studio。

不幸的是,它不像将资产放在与主程序相同的目录中然后使用 fstream.h 或 stdio.h 引用它们那样简单,就像 Opengl 等效项一样。我试过创建 res/raw 之类的文件夹并使用 android/asset_manager.h 和类似的库。甚至可以通过这个 IDE 吗?当这个问题得到解决时,我将在 Unity 中完成...

你不知道。 OpenGL 是一个 API 与变换顶点和在屏幕上绘制像素有关的东西。文件格式不在 OpenGL 的定义范围内。换句话说,如果你想使用 *.png 作为 input/output 格式,你需要找到支持该文件格式的第 3 方库(例如 libPNG),并使用它来传输像素数据到 OpenGL。

原始文件流 类 (例如 ifstream) 对文件格式的概念为零。同样,您使用第三方库的另一个原因。

Unity 是一个成熟的游戏引擎,因此它花时间构建对各种文件格式的支持(例如 PNG、obj 等)。 OpenGL 的水平要低得多。图像数据的良好起点是 DevIL (它本身包括其他第 3 方库,如 libPNG、libJPEG 等).