Opengl c/c++;应用程序在运行时从建模软件导入三维模型

Opengl c/c++;应用程序在运行时从建模软件导入三维模型,opengl,graphics,3d,augmented-reality,.obj,Opengl,Graphics,3d,Augmented Reality,.obj,我是一个openGL初学者。我需要构建一个c/c++应用程序,在增强现实中显示3d模型。对于AR,我使用ARToolkit。在应用程序中,它必须导入使用blender、sketchup等建模软件构建的三维模型。。模型可能是.obj、.3ds、.collada(如果有的话,请给我推荐其他模型) ARToolkit主要使用opengl进行渲染(AFAIK),将3d对象输入相机 是否可以在运行时动态加载三维模型/对象。现有哪些库(如果有)用于此目的 我想与模型进行键盘交互,这样我可以移动模型的特定

我是一个openGL初学者。我需要构建一个c/c++应用程序,在增强现实中显示3d模型。对于AR,我使用ARToolkit。在应用程序中,它必须导入使用blender、sketchup等建模软件构建的三维模型。。模型可能是.obj、.3ds、.collada(如果有的话,请给我推荐其他模型)

ARToolkit主要使用opengl进行渲染(AFAIK),将3d对象输入相机

  • 是否可以在运行时动态加载三维模型/对象。现有哪些库(如果有)用于此目的
我想与模型进行键盘交互,这样我可以移动模型的特定部分(例如:汽车的旋转车轮)


这里的模型可能简单到一个简单的角色(男人/女人)。建议我这方面需要的资源和我错过的任何技术细节。如果可能的话,我更喜欢我的代码与opengl 1.4一起工作,您需要一些导入机制将各种格式的网格导入到运行时格式中。OpenGL(或DirectX)并没有指定网格在磁盘上的外观,磁盘上存储了各种渲染不需要的内容。基本上,您需要一种从文件中获取顶点位置和属性的方法,还需要一个索引列表(如果使用索引三角形列表进行渲染,您可能应该这样做)

最容易确定的是.obj,这是一种ASCII格式,您可以轻松解析它,并且许多应用程序都支持它。否则,请像这样查看库


但是,我假设您正在寻找一个基于OpenGL的渲染系统,它可以为您进行渲染以及鼠标交互。例如,你可以使用很多现有的引擎,或者。IrrLicht易于使用,并提供您提到的功能。如果您必须坚持使用ARToolkit进行渲染,那么您可能可以轻松地将任一引擎的格式转换为ARToolkit期望的格式。

我非常推荐您尝试
它支持许多开放/不太开放的数据格式、skelet动画、仿射转移动画等。

我还关心模型的比例和纹理,没有“opengl格式”。OpenGL没有格式。OpenGL没有文件;它定义了一个渲染系统。它没有说明数据是如何存储在磁盘上的。另外,您的问题是什么。“我不知道从哪里开始”不是一个问题。是的,我的错(opengl格式),我的问题是如何从使用opengl的建模软件中渲染不同格式的3d模型。@kaushik54问题更多的是关于opengl如何工作的,因为从你的问题中,我不理解opengl、模型加载、,模型层次结构(汽车+车轮链接在一起,但可以单独移动)。我想照明也是一个问题(增强现实必须反射环境光才能逼真)。我建议更深入地研究OpenGL世界,确实有一个宇宙需要学习。干杯。事实上DirectX有一种*.x文件格式,但它并不总是最好的选择,只是为了澄清一下。此外,DX10和DX11中也不支持它