2009-01-07 59 views
6

我想在opengl中組裝一個場景,使用已經制作好的對象。問題是對象是.max格式,沒有外部紋理。我怎樣才能在opengl中導入我的對象,而不需要重新紋理它們。我正在考慮將它們導出到3ds並使用3ds文件加載器。你能推薦一個,當然它只能使用3ds文件本身,沒有外部紋理文件。3ds max對象到opengl


3ds max已經允許我將文件導出到obj。我有一個沒有外部紋理文件的對象,但它已經完全着色爲3ds文件。有沒有什麼辦法可以導入到opengl中並且具有相同的顏色,樹幹,樹葉?

回答

8

您可能想要查看lib3ds,它將爲您解析3ds二進制格式併爲您提供對所有對象屬性的訪問權限。我認爲歐特克也有自己的工具包來做這件事。

5

你應該看看link。它是一個帶有使用OpenGL呈現的源代碼的3DS查看器。代碼很簡單。

1

如果我沒有記錯,3ds文件不存儲頂點法線,所以你可能必須自己計算它們,否則它將使用面部法線,這將是相當醜陋的。

4

另一種選擇可能是Assimp,這是一種用於C或C++的開源資產導入庫,這似乎是將3DS資產加入到opengl程序中的一種非常好的方式。如果你希望用於骨骼動畫,並且支持嵌入紋理,它會特別有用。儘管在這一點上,對於你來說,這個答案可能不如其他人遇到這個問題。