【问题标题】:Importing models from 3ds Max to a SharpGL (OpenGL/C#) program?将模型从 3ds Max 导入到 SharpGL (OpenGL/C#) 程序?
【发布时间】:2012-03-29 08:54:39
【问题描述】:

我正在使用 SharpGL 并有一个我想在我的程序中渲染的 .3ds 模型。

我正在寻找示例代码 sn-p 或教程来帮助我学习。

编辑:使用 .NET 创建一个 WPF 应用程序,其中包含用于 OpenGL 绘图的 SharpGL 控件。

【问题讨论】:

  • 我希望您会发现大多数 3DS C# 加载器将专门用于 D3D。只是出于兴趣,您为什么使用 SharpGL 而不是 SlimDX 或类似产品?您是为 Mono 还是 .NET 编写代码?
  • 我正在使用 .NET。不使用 DirectX,因为我以前没有使用过。

标签: opengl 3dsmax


【解决方案1】:

您需要编写一个导入器/文件格式读取器/加载器。你自己。这是一个主要的痛苦。好在 .3ds 文件格式是众所周知的,documented

但是,不好的是 .3ds 格式已过时,并且无法存储现代 3d 应用程序所需的所有数据。例如,它不存储表面法线,也不支持蒙皮网格。我以前写过3ds reader,没啥好玩的。另一个好处是有人可能以前写过 3ds 加载器,你可以使用 google 找到它。坏事是(根据墨菲定律)他们可能以这样的方式实现它,这将使它完全无法用于您的代码。

因此通常建议使用其他一些有据可查的格式(并为该格式编写阅读器)。或者,您可以继续为支持您想要的一切的模型设计自己的格式。但是,要从 3ds max 导出到这种格式,您必须拥有自己的 3ds max 导出器插件(使用 3ds max sdk),这需要非常熟悉 3d 数学和编程(使用 C++)。之前写过几个exporters,这也是个大痛。

因此,更简单的解决方案是使用一些简单的格式,让您可以轻松编写加载程序。基于文本的东西,例如 *.dxf。或者,您可以搜索另一种 3d 模型文件格式,希望它带有用于加载它的库。例如,collada 可以是候选之一,尽管我个人非常不喜欢它使用 XML 的事实。

【讨论】:

    【解决方案2】:

    在此上下文中查看已发布的帖子。

    3ds max object to opengl

    萨蒂什

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-11
      • 2010-09-30
      • 1970-01-01
      • 2011-05-31
      • 2013-01-25
      • 2017-10-28
      • 1970-01-01
      • 2012-11-02
      相关资源
      最近更新 更多