我将着色器保存在资产文件夹中。着色器名称(文件名):“vertex.vs”路径:assets/shaders/vertex.vs
我想从 NDK 的 C++ 文件访问这个文件,而不用调用 Java 或 JNI。通过阅读各种资源,我设法了解我必须使用标题
#include <android/asset_manager.h>
之后我创建指针并打开它。
const char* mPath = "shaders/vertex.vs";
AAssetManager* mAssetManager;
AAsset* mAsset;
mAsset = AAssetManager_open(mAssetManager, mPath,AASSET_MODE_UNKNOWN);
int foo = AAsset_getLength(mAsset);
LOGD( "This is a number: %d", foo );
AAsset_close(mAsset);
但它什么也没做。这个读取功能有什么用。
AAsset_read(mAsset,pBuffer,bytesToRead);
数据在哪里读取?如何定义 pBuffer ?有人可以分享一个简单的例子,说明如何从原始文件中读取数据以及如何访问它(比如在 logcat 中显示它)?