2010-01-08 82 views
4

我想在openGL中開發一個3D遊戲,我需要創建很多3D對象..我是openGL的開胃小菜..我嘗試過很多3D軟件,如Blender, MODO,Unity 3D和獵豹。導入3D對象和它的動畫到iphone openGL

我可以輕鬆地創建我的對象,並導出爲Wavefront .OBJ,並使用perl腳本將其轉換爲頭文件。這個頭文件被添加到我的openGL項目中。

可以看到3D對象,但它並不完美。我使用的腳本是使用TRIANGLES將.OBJ轉換爲.h,並用三角形顯示對象。它不完整..當我使用TRIANGLE STRIP,FAN ..時沒有辦法?問題與頂點..

是我的腳本的問題還是它是我走了錯誤的方式..?或者是否有任何其他最好的方法來直接導入3D對象到OpenGL .. ??

下面的鏈接是最好的,你可以得到3D對象OpenGL的..我得到了這些腳本..

http://www.heikobehrens.net/2009/08/27/obj2opengl/

請幫助..

回答

1

唐't想要走那條路。直接繪圖模式(使用TRIANGLE和朋友)在OpenGL中非常緩慢。

相反,你應該選擇一個體面的格式,併爲它寫一個加載器(或使用在網上找到的加載器)。良好的格式將是3ds,如果是gzipped,則爲collaj。

以下是從Milkshape文件加載的example tutorial

一旦以編程方式加載對象,您可以使用Vertex Arrays,或者甚至更好的VBO來顯示它們。這是waaay更快。

谷歌爲mesh loader爲您最喜愛的格式,或自己寫一個。

+0

感謝您的回覆。我正在使用攪拌器來創建3D對象動畫。我沒有奶昔3D。那麼是否有可能將動畫文件導入到opengl中? Collada是一個很好的格式。或者你可以幫我在那.. 再次感謝.. – quint 2010-01-12 10:22:42

1

我寫了一個讀取器/渲染器AC3D文件能夠在iPhone上(OpenGL ES的)工作正常

隨意看看它here

還有一個由Jeff Lamarche在google code的obj裝載機。

AC3D可以減少三角計數相當不錯,並作爲替代我移植到mac的QVis。我的閱讀器/渲染器也嘗試構建三色條。

關於VBO的。在iPhone中使用它們時我沒有看到任何獲得的性能。 I'm not the only one.

+0

感謝您的答覆..我havnt嘗試與AC3D呢。 Dint獲得它的完整版本呢。但我正在嘗試用Blender進行創作,這比我想象的要好得多。那麼是否有任何方法將動畫表單攪拌器導入到opengl代碼..或者其他任何直接的方式來做到這一點..請幫助 – quint 2010-01-12 10:29:26