The following changes apply to Maya 2016 Service Pack 3 and Maya 2016 Extension 1 + Service Pack 3.
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-2016.
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 Maya Viewport 2.0 whitepaper can be found at http://www.autodesk.com/developmaya.
This document is divided into two parts. The first (Viewport 2.0 API Porting Guide) is an overview of Viewport 2.0 and outlines the differences between the legacy default viewport and Viewport 2.0. The second part (Viewport 2.0 API Porting Guide Details) is more detailed and specifies the recommended interfaces and provides code examples for common tasks.
The Improving Performance with Parallel Evaluation whitepaper can be found at http://www.autodesk.com/maya-docs.
Refer to this document for information on how to use the new Evaluation Manager feature to improve playback and manipulation of your animated scenes through scene-level graph analysis and parallelization. In addition, it provides information on the API extensions that your plug-in can implement to take advantage of these features, as well as guidelines on how to use the Profiler to evaluate performance in your scene.
The Developer Kit is available online at Autodesk Exchange at https://apps.exchange.autodesk.com/MAYA/en/Home/Index.
Semantics added that allow your DX11 or GLSL shader to perform hardware selection; for example, semantics that allow you to specify whether selection is to be done at the object level or vertex level.
Annotations added that allow you to draw non-material items such as the wireframe and selected edges/vertices components.
Hardware selection is enabled when you run Maya in OpenGL Core Profile mode. Alternatively, you can also set the environment variable MAYA_USE_HARDWARE_SELECTION = 1.
See Semantics and annotations supported by the dx11Shader and glslShader plug-ins in Viewport 2.0 and Shader semantics supported by Viewport 2.0.
The dx11Shader and glslShader plug-ins in the Maya Developer Kit have been updated to illustrate hardware selection. The glslShader also supports shadow pass, transparency and advanced transparency passes. Varying inputs are selectable (choice of color or UV sets), and performance is improved.
See also the WaterSimulation shader example. For the GLSL version of the example, see WaterSimulation.ogsfx in the presets\GLSL\examples folder of the Maya installation directory. For the DX11 version, see WaterSimulation.fx in the presets\HLSL11\examples folder.
New MPxGeometryOverride::pointSnappingActive() and MPxSubSceneOverride::pointSnappingActive() functions have been added that allow you to set the correct selection level when snapping is active.
See apiMeshShape in the developer kit for more information. See also MSelectionContext::selectionLevel().
Creating GLSL shaders learning path
MUIDrawManager::beginDrawInXray() and MUIDrawManager::endDrawInXray() methods have been added so that primitives drawn between calls to these two methods will display on top of other geometries in the scene. These methods can be used to draw objects such as locators.
These methods are only applicable to drawables created using the MUIDrawManager::mesh() method and that are one of kTriangles, kLines and kPoints.
See squaresNode_noDepthTest in the developer kit for an example that draws meshes without performing depth testing. MUIDrawManager is used to draw two squares and some text, and these two squares and text display on the top of other geometries in the scene.
New class for curve attributes
Functions to display manipulator plane handles