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



如何在OpenGL ES中读取或写入文件(png、txt、jpg…(?目标是通过Visual Studio的Android。

不幸的是,这并不像将资产放在与主程序相同的目录中,然后使用fstream.h或stdio.h(类似于Opengl(引用它们那么简单。我尝试过创建res/raw这样的文件夹,并使用android/asset_manager.h和类似的库。通过这个IDE有可能吗?当这件事解决的时候,我将在Unity完成任务。。。

您没有。OpenGL是一个API,它关注于变换顶点和在屏幕上绘制像素。文件格式不在OpenGL的定义范围内。换句话说,如果你想使用*.png作为输入/输出格式,你需要找到一个支持该文件格式的第三方库(例如libPNG(,并使用它将像素数据传输到OpenGL。

原始文件流类(例如ifstream(没有文件格式的概念。再一次,你使用第三方图书馆的另一个原因。

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

最新更新