API Guide > Viewport 2.0 API > Overview of the Viewport 2.0 API >

# Transition Guide

## MPxLocatorNode

Support for Maya nodes implementing the MPxLocatorNode interface can be added by providing an implementation of MPxDrawOverride and registering it with MDrawRegistry against a classification string for the Maya plugin node type. See the devkit example footPrintNode for more details.

## MPxSurfaceShape/MPxComponentShape

Support for Maya nodes implementing these interfaces can be added by providing an implementation of MPxGeometryOverride and registering it with MDrawRegistry against a classification string for the Maya plugin node type. See the devkit example apiMeshShape for more details.

## MPxHwShaderNode/MPxHardwareShader

Support for Maya nodes implementing these interfaces can be added by providing an implementation of MPxShaderOverride and registering it with MDrawRegistry against a classification string for the Maya plugin node type. See the devkit example hwPhongShader for more details.

## Software Shading Nodes derived from MPxNode

Support for software shading nodes implementing the MPxNode interface can be added by providing an implementation of MPxShadingNodeOverride and registering it with MDrawRegistry against a classification string for the Maya plug-in node type. See the devkit example brickShader for more details.

Support for software surface shading nodes (those which may be connected directly to the Maya shading engine) implementing the MPxNode interface can be added by providing an implementation of MPxSurfaceShadingNodeOverride and registering it with MDrawRegistry against a classification string for the Maya plug-in node type. See the devkit example phongShader for more details.

## M3dView/MPx3dModelView

Custom renderer definitions for Viewport 2.0 can be provided using the new rendering override interfaces MRenderOverride and MRenderOperation. See the devkit example viewRenderOverride for more details