我是openGL初学者。我需要建立一个c/c++应用程序,在增强现实中显示3d模型。对于AR,我使用的是ARToolkit。在应用程序中,它必须导入用搅拌机、sketchup等建模软件构建的3d模型。模型可能是.obj,.3ds,.collada(建议我还有其他的吗??)。
ARToolkit主要使用opengl进行渲染(AFAIK),将3d对象输入到摄像机中。
我希望与模型进行键盘交互,在那里我可以移动模型的特定部分(例如:汽车的轮转轮)。
这里的模型可能就像一个简单的房子(男人/女人).suggest我需要的资源,这和任何技术细节,我错过了。如果可能的话,我希望我的代码可以使用opengl 1.4。
发布于 2012-01-14 09:58:45
您需要一些导入机制来将各种格式的网格导入到运行时格式中。OpenGL (或DirectX)没有指定您的网格必须如何在磁盘上显示,而且在磁盘上存储的各种东西并不是呈现所必需的。基本上,您需要一种从文件中获取顶点位置和属性的方法,还需要一个可选的索引列表(如果您使用索引三角形列表呈现,那么您可能应该这样做)。
最容易确定的是.obj,它是一种ASCII格式,您可以很容易地解析它,并得到许多应用程序的支持。否则,请查看像开放式资产进口这样的库。
但是,我假设您正在寻找一个基于OpenGL的渲染系统,它为您提供渲染以及鼠标交互。有很多现有的引擎您可以在那里使用,例如Ogre3D或IrrLicht。IrrLicht易于使用,并提供了您提到的支持一组格式。您必须坚持使用ARToolkit进行呈现,然后您可能可以轻松地将任何一个引擎的格式转换为ARToolkit所期望的格式。
发布于 2014-04-02 11:56:20
我非常推荐您尝试html/,它支持许多开放/不太开放的数据格式、skelet动画、仿射传输动画等等。
https://stackoverflow.com/questions/8861227
复制相似问题