ネイティブ側から assets フォルダー内の画像ファイルにアクセスしようとしています。これで、assets フォルダーとそのサブディレクトリを正常に検索して、探している特定のファイルを見つけることができます。
AAssetDir* assetDir = AAssetManager_openDir(asset_manager, "images");
const char* filename;
while ((filename = AAssetDir_getNextFileName(assetDir)) != NULL)
{
__android_log_print(ANDROID_LOG_DEBUG, "Debug", filename);
}
AAssetDir_close(assetDir);
私もOSGを使っています。次のコードを使用して、イメージをテクスチャとしてシェーダーに設定します。
texture->setImage(osgDB::readImageFile(fileNameWithPath));
ただし、同じディレクトリにないため、そのファイル名には絶対パスも含める必要があります。ただし、アセット ディレクトリは APK と共に圧縮されているため、絶対パスを取得できないことがわかりました。
絶対パスにアクセスできないので、画像を取得するために他にどのような方法を使用できますか? また、sd カードと同じように、アセット フォルダーにファイルを保持したいことにも注意してください。