Hi All

I've been playing around with the zip plugin in order to read files from my
apk file on Android. Apk is basically a zipped up version of your app with
all the assets etc inside.

This is now working fine while directly reading images, .osg files and
fonts, however I have two issues.

1. Images referenced by the .osg are not loaded, for example if my model is
in 'pkg.apk/assets/Models/model1.osg' and it references
'images\\diffuse.png' then the image is not loaded. I have tried moving the
image to the root of the archive in/not in an images folder but it never
seems to load.

2. I use osgDB XmlPasser quite a bit for simple meta data stuff. Is there a
way to read an xml file from and archive?  I usually read my xml files like
so

        osgDB::XmlNode::Input input;
        input.open(foundFile);
        input.readAllDataIntoBuffer();
        osg::ref_ptr<osgDB::XmlNode> root = new osgDB::XmlNode;
        root->read(input);

 osgDB::XmlNode::Input has stream reading methods, but is it possible to
get access to an archive file as a stream?


Cheers
Tom

PS

For those interested here is how I get the zip plugin to read the apk

osgDB::Registry::instance()->addFileExtensionAlias("apk" , "zip");
osgDB::ReaderWriter* zipReader =
osgDB::Registry::instance()->getReaderWriterForExtension("zip");

if(zipReader)
{
    zipReader->supportsExtension("apk", "Android package");
    if(zipReader->acceptsExtension("apk"))
    {
        OSG_FATAL << "ZIP Plugin supports apk" << std::endl;
    }else{
        OSG_FATAL << "ZIP Plugin does not support apk!" << std::endl;
    }
}else{
        OSG_FATAL << "No ZIP Plugin!" << std::endl;
}


osg::ref_ptr<osgDB::Archive>_archive = osgDB::openArchive(pathToApk,
osgDB::Archive::READ);


To get the path to the apk use this in java and pass to c++ via jni stuff.

        Context context = getApplicationContext(); // or other way of
getting current contex
        String dir = context.getFilesDir().getPath();
        String pathToApk = context.getPackageResourcePath();
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to