2012-01-14 369 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

相關問題