views:

632

answers:

3

I am looking for a cross-platform solution for saving and viewing 3D scenes (visualizations of engineering simulation models and results) but there (still) doesn't seem to be much out there.

I looked into this almost 10 years ago and settled on VRML then (and started the project that eventually turned in OpenVRML). Unfortunately, VRML/X3D has not become anywhere near ubiquitous in the past decade.

Ideally a solution would offer a C++ library that could be plugged in to a 3D rendering pipeline at some level to capture the 3D scene to a file; and a freely redistributable viewer that allowed view manipulation, part hiding, annotation, dimensioning, etc. At least linux, mac, and windows should be supported.

3D PDFs would seem to meet most of the viewer requirements, but the Adobe sdk is apparently only available on Windows.

Any suggestions ?

A: 

If you are using OpenGL, GLIntercept will save all OpenGL calls (with the data they were called with) to a XML file. It's only half the solution, though, but it shouldn't be hard to parse it and recreate the scene yourself.

Jim Buck
"Yeah, what Drew said..." ;)While we're at it -- what ever became of the old .obj format? I was using that with good success not TOO many years ago...
Olie
Downvote and no feedback as to why? GLIntercept exactly solves the first half of his problem ("Ideally a solution would offer a C++ library.." etc.)
Jim Buck
Thanks for your feedback. I didn't vote it down. Off topic: the vote reads 0 as I write this. How can you tell there was a down vote? My concern with a dump of GL calls is that 1. verbosity/size of file, 2. user-modifiable state is embedded, not explicit, 3. The viewer is the hard bit isn't it?
Chris Morley
It used to be -1, so either the downvoter reconsidered, or someone else liked my answer. :) I never looked deeply at GLIntercept since it's on my list of things "to do" as far as integrating into my own app, but I wonder if someone wrote a viewer for it somewhere.
Jim Buck
+1  A: 

The closest thing that I'm aware of is Collada. Many 3D engines can read it, and most 3D design tools can read and write it. I believe the Ogre engine has pretty good support.

JohnV
A: 

Take a look at Ogre3d.org. Its just an engine, you must program with it. But OGRE is probably the better (free/open) platform to develop 3D right now.