这是我在网站上的第一个问题。 我需要一个用于opengl应用程序的3DS模型加载器。 Loader也应该能够加载.jpg纹理。我试图将OpenSceneGraph用于此目的,但这次我还必须使用整个OpenSceneGraph数据结构来渲染场景。是否可以仅将OpenSceneGraph用于模型加载,并使用标准opengl代码执行其余操作,尤其是glTranslate,glRotate等。
答案 0 :(得分:3)
谷歌搜索出现了这个问题:lib3ds
不确定它是否可以读取JPEG,但使用libjpeg或同等效果应该很容易。
答案 1 :(得分:1)
OpenSceneGraph使用“插件”来加载文件格式 - 模型和纹理。有3ds和jpeg的工作插件,但至少jpeg(我相信)不是在默认配置中构建的 - 在创建OpenSceneGraph makefile(或Windows上的项目)时,你需要指定libjpeg的位置文件以便构建它(因为插件基于该库)。一旦你有这两个插件,你就可以读取3ds文件和jpeg纹理。另一个选择是使用一些支持osg(或ive)的其他转换器 - OpenSceneGraph的原生格式和3ds。想到了Blender,它是免费的......
至于将OpenGL调用与OpenSceneGraph混合 - 这可能很棘手,但可能。一种选择是从Drawable派生自己的类,然后覆盖它的绘制实现方法,并将其放在图中的任何位置,尽管手动绘制3ds文件会破坏使用场景图的整个目的......