2

这是我在网站上的第一个问题。我需要一个用于 opengl 应用程序的 3DS 模型加载器。加载器还应该能够加载 .jpg 纹理。为此,我尝试使用 OpenSceneGraph,但这次我还必须使用整个 OpenSceneGraph 数据结构来渲染场景。是否可以仅将 OpenSceneGraph 用于模型加载并使用标准的 opengl 代码完成其余的工作,尤其是 glTranslate、glRotate 等。

4

2 回答 2

3

谷歌搜索出现了这个:lib3ds

不确定它是否可以读取 JPEG,但使用 libjpeg 或等效文件应该很容易。

于 2010-07-14T15:54:37.600 回答
1

OpenSceneGraph 使用“插件”来加载文件格式——模型和纹理。有适用于 3ds 和 jpeg 的工作插件,但至少 jpeg 插件(我相信)不是在默认配置中构建的 - 在创建 OpenSceneGraph 生成文件(或 Windows 上的项目)时,您需要指定 libjpeg 的位置文件以便构建它(因为插件基于该库)。一旦你有了这两个插件,你就可以毫无问题地阅读 3ds 文件和 jpeg 纹理。另一种选择是使用其他同时支持 osg(或 ive)的转换器 - OpenSceneGraph 的原生格式 - 和 3ds。想到搅拌机,它是免费的......

至于将 openGL 调用与 OpenSceneGraph 混合 - 这可能很棘手,但可能。一种选择是从 Drawable 派生您自己的类,然后覆盖其绘制实现方法,并将其放置在图中您想要的任何位置,尽管手动绘制 3ds 文件会破坏使用场景图的全部目的......

于 2011-11-11T23:00:44.533 回答