View Full Version : OpenGL and Maya

12-09-2004, 05:07 AM
Hi y'all. Thanks for looking!

My company plans to get into 3D. From skimpy mention in the docs, I get the impression that you can integrate Maya and OpenGL.

Is it true that the artist can render in 3D using Maya then Maya will spit out all the geometric primitives necessary for drawing the scene (this sounds like witchcraft to me, so perhaps I'm way out to lunch here.).

I'm hoping that one of you can give me bullets on the pros and cons of using Maya with OpenGL.


12-09-2004, 09:28 AM

Maya is an amazing modelling and animation program. It depends a lot on what you specifically want to do though.

More to your point, the most common way to export geometry from maya is by use of the old WaveFront OBJ file format. Maya ships with a plugin for this, and the format is well-documented on the web.

You might also look into non $2,000-per-license programs like Blender or Milkshape too.


Rob The Bloke
12-09-2004, 12:29 PM
maya exporter factfile (http://robthebloke.org/research/index.htm)

12-10-2004, 05:05 AM
I am not sure what you are asking.
If you are looking for a solution to generate C source code from 3d geometry take a look at Deep Exploration.
( http://www.righthemisphere.com/products/dexp/ )

You can import most 3d formats and convert into C source code.

12-11-2004, 07:43 AM
Where to start?

Go buy some games. Start with Half-Life 2, just for the sake of argument. Run around the game, and look at the surroundings. (Far Cry makes another good example)

All the graphics you see there were built in Maya, or a tool like it (3dsmax, SoftImage, whatever). Then, the data was exported from the DCC (Digital Content Creation) app, typically into engine-specific file formats.

Then, the graphics engine of the game loads these files (possibly after pre-processing), and displays them on the screen based on wherever the player is. There's a bunch of specialized code for things like shading, occlusion, animation and lighting which goes into the run-time engine to make it look the way it does.

The trick is that graphics hardware has limitations. Different hardware has different limitations. Figuring out what, specific, limitations to put on your scene in Maya, such that your engine can run efficiently with the exported data, is a Fine Art and doesn't come cheap. Similarly, if you decide to support "everything" you can do in Maya, your engine will take a long time to write, and will not run very fast -- real-time 3D graphics is all about coming up with the right compromises.

Now, you're saying "thinking about going into 3D" -- what does that mean? Will you use 3D graphics for visualizing some data you have? If so, buy an existing 3D engine -- the price ranges from very expensive (Unreal engine; Half-life 2 engine; Doom 3 engine; Far Cry engine etc) to very cheap (Torque, from www.garagegames.com). (http://www.garagegames.com).) You can also buy just a renderer, say something like Gamebryo from NDL. There are also free graphics libraries, such as Ogre3D, Nebula2, or OpenSG.

If it means "we want to sell a 3D package to compete with the people you already mentioned," then you're going to have to spend five years learning how all of this actually works together, and spend literally millions of dollars to become competetive. You can accelerate the learning curve by hiring very senior (== expensive) people very aggressively, and then listening to them, but you can't really reduce the cost. And, honestly, if you're starting from scratch, chances of success are low even if you are very well funded.