Wednesday, January 25, 2006
Capturing OpenGL data for prototyping
Recently, we had a blog about an open source 3D scanner. Here is another opportunity in that area. A lot of 3D information banging around the internet is in OpenGL format. Now you can grab 3D descriptions out of those visualisations for prototyping and other uses.
GLExtractor) is a software package by Eyebeam R&D that allows for the capture and re-use of 3D geometry data from 3D graphics applications running on Microsoft Windows. It works by observing the data flowing between 3D applications and the system's OpenGL library, and recording that data in a standard 3D file format. In other words, a 'screen grab' or 'view source' operation for 3D data.
The primary motivation for developing OGLE is to make available for re-use the 3D forms we see and interact with in our favorite 3D applications. Video gamers have a certain love affair with characters from their favorite games; animators may wish to reuse environments or objects from other applications or animations which don't provide data-level access; architects could use this to bring 3D forms into their proposals and renderings; and digital fabrication technologies make it possible to automatically instantiate 3D objects in the real world.
> the internet is in OpenGL format.
There is no such thing as "OpenGL format". The OpenGL specification is a programming language API and the designers of that API were very careful to avoid specifying a file format.
> Now you can grab 3D descriptions out
> of those visualisations for prototyping
> and other uses.
Probably not with any high degree of reliability. In games (for example), they will typically use multipass rendering tricks to produce some special effects that would cause extreme weirdness in the resulting models. Characters in video games are increasingly animated using 'vertex shaders' in the hardware - which means that what flows between application and OpenGL library is gobbledy gook. Thirdly, most applications cull the data down to only what you can see. In many cases, polygons around the back side of objects are not even rendered.
Furthermore (of course) you have to be careful not to infringe copyrights and such...but you knew that already.
> OGLE (i.e. OpenGLExtractor) is a
> software package by Eyebeam R&D that
> allows for the capture and re-use of 3D
> geometry data from 3D graphics
> applications running on Microsoft
IMHO, this will be at best flakey - and increasingly so as applications increase in sophistication.
> It works by observing the data flowing
> between 3D applications and the
> system's OpenGL library, and recording
> that data in a standard 3D file format.
I have a free version of that lying around somewhere that I wrote years ago to help to debug some of my 3D applications. I wouldn't pay for such a tool.
> Video gamers have a certain love
> affair with characters from their
> favorite games;
...and if they use this tool to capture them, they are probably breaking the law.
> animators may wish to reuse
> environments or objects from other
> applications or animations which don't
> provide data-level access;
TRANSLATION: We hope to allow people to use free demo versions of tools like Maya
that have deliberately disabled the ability to save models.
> architects could use this to bring 3D
> forms into their proposals and
> renderings; and digital fabrication
> technologies make it possible to
> automatically instantiate 3D objects
> in the real world.
It's hard to see why these applications wouldn't have a legitimate model save feature.
Taken from a videogame and converted over to "solid" CAD. This was done in an attempt to alert some of my fellow industrial designers that real products - the one's they design - may be more vulnerable to piracy than they believe; that the tables are turning and consumers are increasingly calling the shots. First it's happened with music, now it's happening with video, and before long it'll be tangible products (one reason I follow this project; though not a primary one).
Also, I'd point out that for some people, capturing the data is perfectly allowed. For example, Second Life cedes IP to the virtual world's users, but there is no "Export Model As" feature in the client. Unfortunately.
Others are going to want to grab characters and artifacts out of their PC games or to create characters for their Dungeons and Dragons sessions. I can see a trade in pre-made controllers and motors building up plus a repackaging business in getting polymers like CAPA 6800 into smaller, more affordable portions.