我目前正在玩NDK for android,试用OpenGL ES 2.0功能。但我不知道如何将图像加载到OpenGL纹理中。我的计划是使用本机函数调用发送一个位图,然后使用GLUt从中创建一个纹理。那么,我如何在android platorm上的本机代码中使用GLUt?
或者他错误地解决了这个问题?
(抱歉英语不好)。
提前Thanx!
答案 0 :(得分:1)
这取决于你的应用程序在做什么,如果你正在开发游戏,最好的方法是从sdcard读取图像或从apk中的资产发送文件描述符,并使用stdio和libpng或类似的lib(取决于你的图像格式),用本机代码解码图像并在那里绑定纹理。
另一方面,如果您的图像是动态生成的(例如:来自相机),最好的方法是使用java.nio.ByteBuffer或类似方法将其传递给本机代码。