【发布时间】:2018-08-25 15:23:21
【问题描述】:
我将着色器保存在资产文件夹中。 着色器的名称(文件名):“vertex.vs” 路径:资产/着色器/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 中显示)?
【问题讨论】:
-
“读取的数据在哪里?” 进入
pBuffer指向的任何内存。 “如何定义 pBuffer ?” 您需要将指针传递给足够大的内存块以容纳bytesToRead字节数。
标签: android-ndk buffer android-assetmanager