2016-03-23 2 views
0

Я разрабатываю приложение для Android и Android, где мне нужно сделать рендеринг в двух разных действиях (обычный рендеринг в одном действии и рендеринг VR в другом). Я мог обнаружить, что как только я перехожу от одного вида деятельности к другому, мои данные о трехмерной модели (вершины, индексы) теряются. Если я вернусь к первому действию, я должен перезагрузить все данные из файлов. Есть ли какая-нибудь работа для этой конкретной проблемы? Также это лучший формат, в котором я мог бы сохранить модели, чтобы получить самую быструю скорость загрузки.Как предотвратить потерю контекста opengl при загрузке новой активности

ответ

2

Вы можете использовать GLSurfaceView.setPreserveEGLContextOnPause. Хотя поддержка сохранения контекстов EGL не гарантируется, она широко доступна на современных устройствах Android.

Что касается скорости загрузки модели - вы опасно наступаете на территорию, основанную на мнениях. Но формат модели, разработанный точно так же, как ваши буферы GLES, ожидаемые на устройстве, может быть передан непосредственно с диска без каких-либо изменений - поэтому, скорее всего, это будет ваше самое быстрое решение для загрузки. Однако многие разработчики используют другой формат (например, FBX/OBJ/etc.), Поскольку они более гибкие и экспортируются непосредственно из инструментов DCC.

+0

Спасибо, я мог обойти предотвращение потери контекста. Moveover может предложить мне некоторые ресурсы, которые могут помочь мне сохранить буферы непосредственно в файл. – sreesreenu

Смежные вопросы