This chapter details how to create software shading nodes, which are used by Maya's Software renderer. For shaders used in rendering Maya's interactive scene view, see the chapter on Writing a Hardware Shading Node.
A software shading node is a regular Maya dependency node which provides specially named attributes which are used to connect to other nodes in a shading network and to communicate with the Maya Software Renderer.
Software shading nodes are in general not compatible with third-party renderers such as mental ray or RenderMan. These renderers may pick up, from the shading nodes, specific output values which are constant throughout a frame, but for values which change on a per-object, per-vertex or per-sample basis, they require shaders written in their own APIs.