Sunday, January 4, 2015

Visual Studio 2013 3D support - what a mesh! (yeah, that's a terrible pun)



I've been beating my head against the latest Visual Studio, as probably everyone has noticed.  Latest thing that I've been trying to wrap my head around (aside from the latest update breaking 99% of all existing DirectX code and removing all the basic functionality) is the IDE's 'built in' support for the most common mesh formats.  You can open up an FBX or your favorite 3D model in the IDE by just dragging it over.


Woo - seems nice.   Well, sort of.  The editor is utility challenged and doesn't really do anything.  You still need Meshlab/Blender to do anything useful.  All the editor does is let you count those delicious triangles that are the only thing DirectX has any clue how to handle and spin the model around to give the illusion of doing useful work.  But it will let you convert FBX to a native SDK format or just them natively, right?

Of course not.  Let's try to export:


Yup.  You can import an unsupported mesh format and export it to a number of other unsupported formats.  The native mesh functions only work with a new, proprietary and somewhat bloated SDKMESH or CMO formats that ends up being just the mindnumbing list of triangles and vertices exactly like you need to generate by hand to make simple objects.

The docs keep insisting that if you add items to the project they magically become a supported format somehow and appear somewhere.  I added some FBX and OBJ and every other format to the project and nothing happened, as pretty much I expected by this point.

By default Visual Studio 2013 seems to ignore most everything.  The docs refer to the build steps as a 'pipeline' for some odd reason, but you won't find of that anywhere.  I clicked on everything like a chimp and eventually found the right settings.  Right click on the project and choose Build Dependencies -> Build Customizations.  This intuitively opens a dialog containing available file types/steps.


If you enable ImageContentTask, you'll get your image files converted, if you choose MeshContentTask all understandable mesh files get converted silently to CMO files (I don't think you have an option - that's it).  The files get converted without any screen output and are dumped with the build output.



No comments:

Post a Comment