Nick Heiner
Nick Heiner

Reputation: 122600

3d viewing software/library?

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.

Upvotes: 0

Views: 385

Answers (4)

mikera
mikera

Reputation: 106401

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.

Upvotes: 0

ssube
ssube

Reputation: 48337

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.

Upvotes: 0

genpfault
genpfault

Reputation: 52165

Give MeshLab a shot.

As far as model loading goes, there's always AssImp.

Upvotes: 1

Martin Beckett
Martin Beckett

Reputation: 96167

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

Upvotes: 1

Related Questions