For more information regarding the following features, see the What's New section of the Maya Developer Help.
Maya 2016 Extension 2 is not binary compatible with Maya 2016. To obtain the Maya 2016 and Maya 2016 Extension 1 API Guide, see http://www.autodesk.com/me-sdk-docs.
C++ plug-ins that were compiled against Maya 2016 or Maya 2016 Extension 1, including Maya 2016 service pack releases, must be re-compiled against Maya 2016 Extension 2 in order to be recognized by this version of Maya.
In addition, plug-ins compiled against Maya 2016 Extension 2 will either not load or exhibit unpredictable behavior if loaded in Maya 2016, Maya 2016 Extension 1, or any Maya 2016 service pack release.
The C++ API header files and libraries are now available with the Maya installation. It is no longer necessary to download the Maya Developer Kit in order to compile your custom plug-ins. The header and library files can be found in the following folders of your Maya installation:
Windows and Linux:
Mac OS X:
The following are new features in the viewport area of the API, along with highlights of some of the new interfaces available:
You can now extract Maya object information from consolidated geometry using MRenderItem::sourceIndexMapping().
The Profiler now graphs rendering events that execute within Viewport 2.0; for example: node evaluation and UI drawables list/render list building, as well as draw events such as UV Editor drawing, beauty pass render, and UI drawables rendering (such as manipulator drawing). Search for the prefix Vp2 in the Profiler to help identify render events or passes that may be performance bottlenecks in your scene. You may also find it useful to enable tracing via the ogs command.
The new MOpenCLBuffer convenience class has been added that makes it easy to allocate, update, and release OpenCL buffers. New interfaces have also been added to MGPUDeformerRegistrationInfo and MPxGPUDeformer to improve the workflow when creating GPU deformer override evaluators. Furthermore, additional interfaces have been added to enable MultiDraw consolidation support for MPxShaderOverride so that MPxShaderOverride plug-ins based on MShaderInstances can benefit from acceleration provided by MultiDraw consolidation.
The MFnBlendShapeDeformer class has been updated with new interfaces and enumerations that allow you to add a new blend shape target with a specified target type, as well as to add a new blend shape target without a specified target object.
In addition, a new MCurveAttribute class was introduced in Maya 2016 Extension 1 for creating and manipulating curve attributes.
A new MRandom class has been added that provides interfaces to generate sequences of random numbers. This algorithm is fast, allows for parallelization and passes statistical tests on randomness.