1

目前我正在研究 ARToolKit4Android 中的 ARSimpleNativeCars,该版本于 2012 年 3 月 9 日发布。在运行 ARSimpleNativeCarsActivity 类之前,我添加了另一个菜单类。在那个类中,我在一个按钮中开始了一个新意图: Intent myIntent = new Intent(Assignment_Main.this, ARSimpleNativeCarsActivity.class); 开始活动(我的意图);

相机视图工作正常,但模型没有出现。当我检查我的 logcat 时,出现错误,在没有当前上下文的情况下调用 OpenGL ES API。

但是,如果我直接运行 ARSimpleNativeCarsActivity 类,那么它就可以工作了。

4

1 回答 1

0

您可能需要查看 2012 年 12 月 6 日发布的适用于 Android 的 ARToolKit 更新,其中包括对可能影响您的问题的修复。发行说明说:

在 Android 示例中使用 Wavefront .obj 模型时的纹理加载问题已得到修复。现在,一个新函数 glmReadOBJ2 延迟纹理的加载和提交,直到模型准备好绘制。以前,纹理加载是在加载模型时执行的,此时通常没有 OpenGL 上下文有效。

换句话说,初始化应用程序中的本机代码部分(包括模型加载)失败了,因为在没有有效 OpenGL 上下文的情况下加载纹理。该代码现在实现了纹理的延迟加载。你可能会看到同样的问题。

于 2012-12-06T01:30:46.190 回答