2012-03-12 84 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的事实。