2012-01-14 365 views
0

我是一个openGL初学者。我需要构建一个在增强现实中显示三维模型的c/C++应用程序。对于AR,我使用ARToolkit。在应用程序中,它必须导入使用建模软件(如搅拌器,sketchup等)构建的3D模型。模型可能是.obj,.3ds,.collada(如果有的话,向我推荐任何其他内容?)。c/C++应用程序在运行时从建模软件导入3d模型

ARToolkit主要使用opengl渲染(AFAIK),将3d对象转换为相机输入。

  • 是否可以动态加载3d模型/对象运行时。如果有的话,有什么样的图书馆?

我想有一个与车型也键盘交互,我可以移动的模型的特定部分(如:汽车的rrotate轮)

的车型在这里也许就这么简单一个简单的房子性格(男/女)。给我提供我需要的资源和任何我错过的技术。如果可能,我倾向于使用我的代码来使用opengl 1.4

+0

我也关注具有规模和模型的纹理 – kaushik54 2012-01-14 09:05:52

+0

没有“opengl格式”。 OpenGL没有格式。 OpenGL没有文件;它定义了一个渲染系统。它没有说明数据如何存储在磁盘上。 – 2012-01-14 09:35:59

+0

另外,你的问题到底是什么。 “我在困惑中从何着手”不是一个问题。 – 2012-01-14 09:36:34

回答

0

您将需要一些导入机制将各种格式的网格导入到运行时格式中。 OpenGL(或DirectX)没有指定你的网格在磁盘上的外观,并且存储在磁盘上的各种东西不需要渲染。基本上,您需要一种方法来获取文件中的顶点位置和属性,以及可选的索引列表(如果使用索引三角形列表进行渲染,您可能应该这样做)。

最简单的确实是.obj ,这是一种ASCII格式,您可以轻松解析,并且许多应用程序都支持这种格式。否则,看看像Open Asset Import这样的图书馆。

但是,我会假设你正在寻找一个基于OpenGL的渲染系统,它为你做渲染以及鼠标交互。有很多现有的引擎可以在那里使用,例如,Ogre3DIrrLicht。 IrrLicht易于使用,并提供您提到的support for a bunch of the formats。您必须坚持使用ARToolkit进行渲染,然后您可以轻松地将这两种引擎的格式转换为ARToolkit预期的格式。

+0

实际上DirectX有一个* .x文件格式,但它并不总是最好的选择,只是为了澄清。它也被弃用,并且在DX10和11中不被支持 – PeterT 2012-01-14 10:25:20

相关问题