2012-03-12 45 views
1

我正在與SharpGL合作,並且我想在我的程序中渲染一個.3ds模型。將3ds Max中的模型導入SharpGL(OpenGL/C#)程序?

我正在尋找示例代碼片段或教程來讓我去。

編輯:使用.NET創建一個帶SharpGL控件的WPF應用程序,用於OpenGL繪圖。

+0

我想你會發現大多數3DS C#裝載機將專門與D3D合作。出於興趣,你爲什麼使用SharpGL而不是SlimDX或類似的?你在寫Mono還是.NET? – Robinson 2012-03-12 23:13:31

+0

我正在使用.NET。不使用DirectX,因爲我以前沒有使用它。 – bobble14988 2012-03-13 10:05:53

回答

3

您需要編寫導入器/文件格式讀取器/加載器。你自己。這是一個主要的痛苦。好的是.3ds文件格式是衆所周知的,並且documented

但是,壞的一點是.3ds格式已經過時,並且不存儲現代3D應用程序需要的所有數據。例如,它不存儲曲面法線並且不支持蒙皮網格。我之前寫過3ds的讀者,沒有多少樂趣。另一件好事是,有人可能以前寫過3ds加載器,你可以使用谷歌找到它。壞事是(按照墨菲法則),他們可能已經以這種方式實現了這種方式,這會使你的代碼完全無法使用它。

所以通常建議使用其他一些記錄良好的格式(而不是寫THAT格式的閱讀器)。或者你可以繼續設計你自己的格式來支持你想要的一切。但是,要從3ds max導出爲THIS格式,您必須擁有自己的3ds max導出器插件(使用3ds max sdk),這需要熟悉3d數學和編程(使用C++)。我以前寫過幾個出口商,這也是一大痛苦。

所以更簡單的解決方案是使用一些簡單的格式,可以讓您輕鬆編寫加載程序。基於文本的內容,如* .dxf。或者你可以搜索另一種3D模型文件格式,希望能夠加載它的庫。例如,collada可以成爲候選人之一,儘管我個人非常不喜歡它使用XML的事實。