NEWS         TESTS         INTERVIEWS         DOSSIERS         GALLERY 3D         3D SITES
 Q&A OGREMAX,
Derek Nedelman,
July 2009
 

 

My number one goal with OgreMax has been to provide a complete path for creating and moving assets from 3DS Max, Maya, and XSI to an Ogre3D-based application. ”

< OGREMAX for Softimage in action

   
Q1 Why have you developed OgreMax, a suite of tools that exports to the Ogre3D graphics engine?
A1 I developed OgreMax after I began using Ogre3D and discovered it didn't have a 3DS Max exporter that allowed me to export a scene (meshes, cameras, lights, animations, among other things), process it (by changing the up axis, rescaling units, merging meshes, and so on), load it into an external viewer for inspection, and then load it into my own application. Before creating OgreMax, I tried to get this type of functionality by piecing together an assortment of exporters, viewers, and scene loaders of varying quality, and of course nothing worked very well, if at all.
   
Q2 Importing assets is a key component of the 3D pipeline. What are your principal goals?
A2 My number one goal with OgreMax has been to provide a complete path for creating and moving assets from 3DS Max, Maya, and XSI to an Ogre3D-based application.
   
Q3 OgreMax is available for 3DS Max, but versions are also available for Maya and XSI. Why support all these applications?
A3 The first version OgreMax was released over two years ago as a simple 3DS Max-only exporter. Its feature set grew rapidly and after nearly a year of development it became apparent that the original program design needed to be overhauled in order to accomodate more features (the real-time viewports, in particular). Before moving on to this phase, I decided to try out the existing Maya and XSI exporters for Ogre3D. None of them did what I wanted so I decided that since I was going to rewrite the OgreMax exporter for 3DS Max I would also create Maya and XSI versions. Having used their software development kits in the past I knew that it would be possible to implement most of the features OgreMax already had.
   
Q4 With regards to porting OgreMax to the different applications, could you please give us your feeling about the 3DS Max, Maya and XSI SDKs?
A4 It's easiest to summarize my feelings with a list of pros and cons for each SDK:

3DS Max SDK
+The most comprehensive SDK. It works far better than the others because it allows you access to nearly everything.
+Has a pure C++ interface which means all plugin code can be written in the same language, resulting in easier debugging and a faster run time.
+The simplest scene graph traversal.
+The simplest data storage methods.
+The simplest user interface handling. User interface elements are created within Visual Studio's resource editor, which means there's less guessing about how things will look.
+Contains lots of sample code.
+Everything is compiled into a single plugin file. This makes manually installing OgreMax very easy.
-The programming interface is complex and messy.
-Lots of code needs to be written when creating new object and material types.
-Compile times are very slow compared to the other SDKs.

Maya SDK
+Has a well-defined and clean programming interface.
+New object types require very little code.
+Easy to add custom commands.
+Compile times are the fastest of the three SDKs.
-User interfaces need to be written in separate MEL script files, which results in a slower run time.
-Creating and accessing some data types is difficult and/or strange.
-Traversing the scene graph is tricky.
-Some functionality is not accessible through the C++ API and must instead be accessed by dynamically executing script code.
-Custom viewports are not supported. There's a somewhat similar custom renderer feature that OgreMax makes use of, but it's slow and not very useful.

XSI SDK
+New object types require very little code.
+Easy to add custom commands.
+Fast compile times.

-Custom materials and shaders must be implemented in separate script files, which is error prone since all the code that accesses the material data is written in C++.
-User interfaces need to be written in separate script files, which results in a slower run time.
-Parts of the user interface in the property page cannot be destroyed and recreated dynamically.
-XSI's custom user interface styling causes problems with many of the OgreMax dialogs. The SDK provides a way to toggle the custom styling, but this results in the OgreMax dialogs looking completely different than the XSI dialogs.
-Inconsistent notifications. Some internal notifications only occur if at least one embedded OgreMax scene window is open. This requires workarounds in the code for the case that no such windows are open.
-No way to hook into material editor 'node' menus. This makes creating OgreMax materials a little more time consuming for the user than they need to be.
-Some functionality is not accessible through the C++ API and must instead be accessed by dynamically executing script code.

   
Q5 OgreMax exports most of the 3D scene details: objects, animation, bones, lights, cameras. It also has a real-time preview (through the use of custom scene viewports) that allows users to view the scene before exporting. These are very advanced features for a free tool. Which feature of OgreMax are you the most proud of?
A5 I'm proud of a number of things:
-I'm proud that there are now three OgreMax exporters that provide what I originally wanted: a path for creating and moving assets from a 3D content creation application to my own application.
-I'm proud that all three exporters offer such an extensive feature set and uniform user interface. The Maya and XSI exporters are identical, and they each have roughly 95% of the features that the 3DS Max version has. This makes it very easy for artists to move from one tool to another if necessary.
-I'm proud of the fact that so many people have adopted OgreMax as their primary toolset.
   
Q6  Ogre3D .scene and .mesh formats specifications change frequently (OgreMax supports Ogre 3D 1.6 & 1.7). Do you think that they are the best formats for a 3D pipeline? What about intermediate formats such as FBX or Collada?
A6 Any successful format needs to evolve over time, so the fact that .mesh and .scene are changing is a very good sign. It's shows that the formats are being adapted to people's needs.
The FBX and Collada formats are perfectly acceptable as an interchange format for 3D content creation applications, but they will typically not be used as a final format. For example, if you were developing a game you would most likely write tools to process FBX/Collada files, removing excess data and eventually saving to a format that your game can read. There are a couple of problems with this approach, however:
1)You still need to write tools - Depending on your needs, you may be able to get away with something simple such as reading the FBX/Collada files and then writing out a few lists of data. On the other hand, you may need more functionality, such as being able to join together meshes, or rescale the scene. These types of tools may require a graphical user interface, which can take more time to create. Also, many types of operations seem simple at first but become very complex. For example, rescaling a scene seems simple until you realize that rescaling affects mesh vertices and all their animations, skeletons, cameras, lights, and all their related properties. Creating and maintaining the tools can become a full-time task.
2)Designing file formats is difficult - Again, if your needs are simple then this may not be an issue, but for all but the simplest programs creating and maintaining file formats can be even more difficult than creating the tools that use those formats.
3)Do you really want to create tools? - Why do all that work if you don't have to?
For most situations the Ogre3D formats are the best choice since they have been in use for years, and there are already tools such as OgreMax you can use to generate that type of data.
   
Q7  What is the license of OgreMax? Are you proposing commercial services around OgreMax and Ogre?
A7 The OgreMax exporters are free to use for any purpose, with the exception that they not be redistributed or resold. The OgreMax viewers and their source code are free to use for any purpose with the condition that you give credit in your application to OgreMax.
By the middle of August, the exporter source code will be available for licensing. In addition, paid support will be offered.
Q8 Ogre3D benefits of a large user community and has a lot of tools for exporting assets. But more generally, do you think that the creation of export tools is the job of the 3D application creator (Autodesk, for example) or the 3D engine maker?
A8 The best thing 3D application creators can do is create full featured SDKs for their products that allow 3D engine makers or anyone else to create the type of tools they need.
   
   
 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2007 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider