SDK changes
At a glance:
- SDK changes
- At a glance:
- The Maya Qt libraries, headers, and tools are now packaged in
Qt.tar.gz
- MQtUtil::resourceGLContext() now returns QOpenGLContext
- Maya is moving to .NET8
- Three new methods have been added to MFnAttribute
- Two new methods have been added to MFnGeometryFilter
- Two new color management methods have been added
- addPostDuplicateNodeListCallback() has been added to MModelMessage
- extendSelectionFromComponents() has been added to MPxSurfaceShape
- MFnWeightGeometryFilter has been added to Python API 2.0
- Updated examples
The Maya Qt libraries, headers, and tools are now packaged in Qt.tar.gz
Qt libraries, headers, and tools are now packaged in Qt.tar.gz
located at the root of the devkit directory.
See Building Qt examples for more details about building Qt plug-ins.
MQtUtil::resourceGLContext() now returns QOpenGLContext
Because QGLContext
is deprecated in Qt6, MQtUtil::resourceGLContext()
now returns QOpenGLContext
.
QGLContext *MQtUtil::resourceGLContext()
See the special section on Qt6 migration for more information.
Maya is moving to .NET8
.NET 8 is now the default version of .NET used by Maya.
The openmayacs.dll
and swigfiles.dll
libraries packaged with Maya work uniquely with .NET 8.
See the special section on .NET 8 for more information.
Three new methods have been added to MFnAttribute
The isEnforcingUniqueName()
, setEnforcingUniqueName()
, and pathName()
methods have been added to MFnAttribute
.
MString MFnAttribute::pathName (bool useLongName=true, bool useCompression=true, MStatus *ReturnStatus=NULL) const
MStatus MFnAttribute::setEnforcingUniqueName (bool state)
bool MFnAttribute::isEnforcingUniqueName (MStatus *ReturnStatus=NULL) const
These methods were added to give the developer the option to either make their nodes enforce unique attribute naming, or not enforce unique attribute naming.
Two new methods have been added to MFnGeometryFilter
Two methods, getIndexMapper()
and getEnvelopeWeights()
, have been added to MFnGeometryFilter
.
MStatus MFnGeometryFilter::getIndexMapper(unsigned int index, MIndexMapper& indexMapper) const
MStatus MFnWeightGeometryFilter::getEnvelopeWeights(unsigned int multiIndex, MFloatArray &weights) const
getIndexMapper()
gets the deformer's indexMapper
, which defines the subset on which the deformer operates.
getEnvelopeWeights()
gets the weights the deformer uses at the specified plug index.
Two new color management methods have been added
Two methods, MFragmentManager::getColorManagementFragmentInfo()
and MShaderInstance::addColorManagementTextures()
, have been added.
MStatus MHwRender::MFragmentManager::getColorManagementFragmentInfo([in] inputColorSpace, [out] fragmentName, [out] inputName, [out] outputName);
MStatus MHwRender::MShaderInstance::addColorManagementTextures();
MFragmentManager::getColorManagementFragmentInfo()
returns the name and parameters of a shader fragment that converts a color from the requested inputColorSpace to the current working color space. The returned fragment name can be used to extend a shader via MShaderManager::addInputFragment()
or MShaderManager::addInputFragmentForMultiParams()
.
MShaderInstance::addColorManagementTextures()
adds all the color management textures that are needed to render this shader instance. You must call addColorManagementTextures()
if your shader references a color managed fragment returned by MShaderInstance::getColorManagementFragmentInfo()
.
addPostDuplicateNodeListCallback() has been added to MModelMessage
addPostDuplicateNodeListCallback()
has been added to MModelMessage
. This method lets you register a callback that fires on node duplication, and provides a list of the nodes that were duplicated.
MCallbackId MModelMessage::addPostDuplicateNodeListCallback(MMessage::MBasicListOfPairsFunction func, void * clientData = NULL, MStatus * ReturnStatus = NULL)
extendSelectionFromComponents() has been added to MPxSurfaceShape
extendSelectionFromComponents()
has been added to MPxSurfaceShape
. It supports the workflow for shell selection and edge/face/vertex loop selection using double-click and shift-double-click, respectively, on a component.
bool MPxSurfaceShape::extendSelectionFromComponents(const MSelectionMask selMask, const int currIndex, const int prevIndex, MIntArray& mIntArray)
MFnWeightGeometryFilter has been added to Python API 2.0
The MFnWeightGeometryFilter
class that was previously only in Python API 1.0, has now been added to Python API 2.0.
Updated examples
gpuCacheSubSceneOverride.cpp
in the gpuCacheSubSceneOverride example has been updated.CacheReader.cpp
in the gpuCache example has been updated.- The
buildRotation
example has been updated to fix a typo and reflect best practices. apiMeshShape
example has been updated to demonstrate extendSelectionFromComponents.