如何更改Qualcomm的Vuforia示例应用程序

时间:2012-02-11 03:46:27

标签: ios augmented-reality

我一直在查看高通论坛的主题,但没有运气,因为我不确切知道如何寻找我想要的东西。

我正在使用ImageTargets Sample for iOS,我想将茶壶换成另一张图片(相当于文字)。

我已经有渲染了,我使用opengl库得到了.h但是我无法弄清楚我需要改变什么来使这个工作,因为这是非常基本的,我无法做它工作我真的没有冒险去尝试其他任何事情。

有人可以帮帮我吗?

我会在这里粘贴代码,但这是一个完整的项目,所以我不确切知道如果需要放什么请告诉我。

3 个答案:

答案 0 :(得分:4)

查看 EAGLView.mm 文件。在那里你必须加载纹理(图像)和3d对象(你需要导入.h而不是 teapot.h 并相应地修改 setup3dObjects )。

最后通过调用 renderFrameQCAR 函数来渲染它们。

答案 1 :(得分:4)

如果案件仍然有效,请执行以下操作:

  1. 获取3D对象的头文件
  2. 获取此对象的纹理图像
  3. 在EAGLView.mm中
  4. 进行此更改:

    • import“yourobject3d.h”
    • 将纹理添加到textureFilenames数组(这应该是在EAGLView的开头
    • 最终关注kObjectScale(由于聋人约为3.0f,对于一个对象,我确实需要将其更改为120.0f)
    • 在setup3dObjects方法中为Object3D * object分配正确的顶点/法线/纹理坐标数组(在“yourobject3d.h”文件中检查正确的数组和命名)
    • 在renderFrameQCAR中进行此更改

      //glDrawElements(GL_TRIANGLES, obj3D.numIndices, GL_UNSIGNED_SHORT, (const GLvoid*)obj3D.indices);
      glDrawArrays(GL_TRIANGLES, 0, obj3D.numVertices);
      
  5. 我相信这就是......如果有什么东西可以看看Vuforia的论坛,即在这里:https://developer.vuforia.com/node/2047669

    注意:默认的teapot.h确实(!)有索引,在banana.h中不存在(来自下面的评论)所以也要注意这个

答案 2 :(得分:3)

实际上,茶壶不是图像。它是以.h格式存储的3D模型,包括顶点,法线和纹理坐标。您应该对OpenGL ES有很好的了解,以便在示例应用程序中理解这些代码。

将3D模型更改为您想要的更简单的方法是使用渲染引擎,这有助于绘制和渲染内容,您不需要打扰OpenGL API。我已经使用jPCT-AE为Android平台完成了它,但对于iOS,有一个名为OpenFrameworks引擎的对应物。它有一些插件来加载3D或MD2文件,因为它是用C ++编写的,所以你可以很容易地将它与QCAR集成。

这是我的jPCT和QCAR结果的简短视频: Qualcomm Vuforia + jPCT-AE test video