What's New in API in Autodesk Maya 2016 Extension 2

For more information regarding the following features, see the What's New section of the Maya Developer Help.

API compatibility

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.

Location of C++ API header files and libraries

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:

Viewport

The following are new features in the viewport area of the API, along with highlights of some of the new interfaces available:

Animation

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.

Modeling

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.

General

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.