3D 观看软件/库?
我正在考虑构建一个需要允许用户查看 3D 模型的应用程序。如果能够支持尽可能多的流行格式那就太好了。以编程方式,我想提供一个文件(OBJ、3DS、MAX 等)并获取可以旋转/平移/缩放的 3D 图像。处理纹理会很好。有必要进行实时渲染,因此对模型/纹理复杂性的限制是可以接受的。
有没有现成的解决方案?我以前使用过 OpenGL,所以我可以自己做,但这会使该项目花费更多时间。 (特别是解析所有这些文件。)
对于最初的工作,仅将变换应用于相对于固定摄像机的单个对象就足够了,尽管最终将变换应用于相对于固定场景的摄像机点会很酷。
我不需要任何 3D 模型编辑功能。
I am looking into building an app that would require allowing the user to view a 3D model. It would be nice to support as many of the popular formats as possible. Programmatically, I would like to supply a file (OBJ, 3DS, MAX, etc) and get a 3D image that I can rotate/translate/scale. Handling textures would be nice. It would be necessary to do live rendering, so limits on model/texture complexity would be acceptable.
Are there any off the shelf solutions to this? I have worked with OpenGL before, so I could do it myself, but that would make the project take a great deal more time. (Particularly parsing all those files.)
For the initial effort, just applying transformations to a single object relative to a fixed camera would be sufficient, although eventually it would be cool to apply transformations to a camera point relative to a fixed scene.
I do not need any 3D model editing capabilities.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
无法想到一个公正的文件格式库 - 问题是它必须挂钩到您用作内部模型格式的任何内容。
有一些 3D 库也可以读取大量文件格式(并且具有插件架构,可以轻松添加您自己的)
openscenegraph 和 ogre 浮现在脑海中
Can't think of a just file format library - the trouble is that it would have to hook into whatever you are using as an internal model format.
There are a few 3D libs that also read a lot of file formats (and have a plugin architecture to make it easy to add your own)
openscenegraph and ogre spring to mind
尝试一下MeshLab。
就模型加载而言,总是有 AssImp。
Give MeshLab a shot.
As far as model loading goes, there's always AssImp.
您可能想查看jMonkeyEngine。
它实际上是一个开源游戏引擎,但这是一件好事 - 这意味着它默认支持实时渲染、良好的纹理、3D 文件格式、现代显卡加速等。
我已经成功地快速启动并运行了简单的测试应用程序,并且它附带了很多示例/源代码,因此我怀疑您可以很快地修改其中之一来完成您想要的操作。
它还在底层使用了 OpenGL,因此如果您有这方面的经验也会很有帮助。
You might want to look at jMonkeyEngine.
It's actually a open source games engine, but that's a good thing - it means that it supports realtime rendering, decent texturing, 3D file formats, modern graphics card acceleration etc. by default.
I've managed to get simple test applications up and running pretty quickly, and it comes with lots of examples / source code so I suspect you could modify one of these pretty quickly to do what you want.
It also uses OpenGL under the hood, so if you have experience there that is also helpful.
VizLib 支持多种模型格式(您列出的大多数/所有格式)、一些图像格式和一堆其他功能。它基于 OpenGL 构建,运行良好,速度通常也不错。
VizLib supports a good few model formats (most/all the ones you listed), a few image formats and a bunch of other features. It's built over OpenGL and works well, speed is usually good.