Produces dependency graph node AnisotropicShader
This node modifies the specular highlight of a surface shader.
The output attributes of the AnisotropicShader node are called “outColor” and “outTransparency”. To use this shader, create a AnisotropicShader node with Shading Group or connect it’s output to a Shading Group’s “SurfaceShader” attribute.
Produces dependency graph node BackFillShader
This node is an example of a surface shader that fills non-diffuse illuminated areas with color.
The inputs for this node are can be found in the Maya UI on the Attribute Editor for the node.
The output attribute of the node is called “outColor”. It is a 3 float value that represents the resulting color produced by the shader. To use this shader, create a BackFillShader with Shading Group or connect its output to a Shading Group’s “SurfaceShader” attribute.
Produces dependency graph node brickTexture
This node is an example of brick 2d texture.
The output attribute of the BrickTexture node is called “outColor”. To use this shader, create a BrickTexture and connect it’s output to an input of a surface/shader node such as Color.
Produces dependency graph node Cells
This node is an example of a solid texture that divides 3D space into cells.
The output attributes of this node are called “outColor” and “outAlpha.”
To use this shader, create a Cell node and connect the output to an input of a surface/shader node such as Color.
Produces dependency graph node CheckerNode
This node is an example of evaluating texture UV coordinates and produces a checkerboard pattern. It also can take advantage of the 2d texture placement node for transforming UV coordinates with a manipulator.
The inputs for this node are two colors and two bias values, where each bias value is used to determine the pattern.
The output attribute of the CheckerNode node is called “outColor”. It is a 3 float value that represents the resulting color derived from the object’s UV texture coordinates. To use this shader, create a CheckerNode and connect its output to an input of a surface/shader node such as Color.
Produces dependency graph node CompositeNode
This node is an example of a compositing shading node.
The inputs for this node are foreground, background, back color, and a mask value.
The output attributes of the CompositeNode node are called “outColor” and “outAlpha”. To use this shader, create a CompositeNode and connect it’s output to an input of a surface/shader node such as Color.
Produces dependency graph node ContrastNode
This node is an example of manipulating color.
The inputs for this node are input color, contrast and bias. The contrast and bias inputs are 3 float values so that it can be applied to each rgb channel of an input color separately.
The output attribute of the ContrastNode node is called “outColor”. It is a 3 float value that represents the resulting color derived from the effective contrast and bias settings. To use this shader, create a ContrastNode and connect its output to an input of a surface/shader node such as Color.
Produces dependency graph node DepthShader
This node is an example of a surface shader that colors objects based on distance from the camera.
The inputs for this node are can be found in the Maya UI on the Attribute Editor for the node.
The output attribute of the node is called “outColor”. It is a 3 float value that represents the resulting color produced by the node. To use this shader, create a DepthShader with Shading Group or connect its output to a Shading Group’s “SurfaceShader” attribute.
Produces dependency graph node DispNodeExample
This node is an example of displacement shader.
The inputs for this node are input color and an input multiplier.
The output attribute of the DispNodeExample node is called “displacement”. To use this shader, create a DispNodeExample node and connect it’s output to the “displacementShader” input of a Shading Group.
Produces dependency graph node Flame
This node is an example of a solid texture that uses turbulence and an axis to animate the texture’s movement.
The output attributes of this node are called “outColor” and “outAlpha.”
To use this shader, create a Flame node and connect the output to an input of a surface/shader node such as Color.
Produces dependency graph node GammaNode
This node is an example of manipulating color with gamma correction.
The inputs for this node are input color and gamma values. The gamma input has 3 float values so that it can be applied to each rgb channel of an input color separately.
The output attribute of the GammaNode node is called “outColor”. To use this shader, create a GammaNode and connect its output to an input of a surface/shader node such as Color.
Produces dependency graph node GeomNode
This node is an example of a evaluating the geometric xyz position on an object.
The inputs for this node are scale and offsets depicted as sliders in the Attribute Editor for the node.
The output attribute of the GeomNode node is called “outColor”. It is a 3 float value that represents the xyz position on the object. To use this shader, create a GeomNode and connect its output to an input of a surface/shader node such as Color.
NV20-specific (Geforce3) sample shader.
This shader produces an anisotropic shading effect. It allows the user to change the parameters of an anisotropic lookup table.
This shader builds on the foundation demonstrated in the hwUnlitShader.
This is an example of a using a cube-environment map to perform per pixel Phong shading.
The light direction is currently fixed at the eye position. This could be changed to track an actual light but has not been coded for this example.
If multiple lights are to be supported, than the environment map would need to be looked up for each light either using multi-texturing or multipass.
NV20-specific (Geforce3) sample shader.
This shader allows for cartoon-like effects.
It allows the user to specify a base decal texture, and a lighting look-up texture.
This shader builds on the foundation demonstrated in the hwUnlitShader.
This plug-in demonstrates how to add processing to the hardware renderer. Simple operations such as inverting the image and adding color triangles to the view are performed by this plug-in.
To use this shader, load the plug-in and turn on the High Quality Interactive view.
Produces dependency graph node InterpNode
This node is an example of evaluating the surface normal on an object.
The inputs for this node are two colors and an input value that will modify the interpolation of color.
The output attribute of the InterpNode node is called “outColor”. It is a 3 float value that represents the interpolated color as a result of the surface normal. To use this shader, create a IntepNode and connect its output to an input of a surface/shader node such as Color or Transparency.
Produces dependency graph node LambertShader
This node is an example of a Lambert shader and how to build a dependency node as a surface shader in Maya.
The inputs for this node are many, and can be found in the Maya UI on the Attribute Editor for the node.
The output attributes for the node are “outColor” and “outTransparency”. To use this shader, create a lambertShader with Shading Group or connect the outputs to a Shading Group’s “SurfaceShader” attribute.
Produces dependency graph node Lava
This node is an example of a solid texture that uses turbulence.
The output attributes of this node are called “outColor” and “outAlpha”.
To use this shader, create a Lava node and connect the output to an input of a surface/shader node such as Color.
Produces dependency graph node lightNode
This node is an example of a directional light.
The inputs for this node are direction, color, and some boolean flags to indicate if the light is contributing to ambient, diffuse, and specular components. There is also a position input that can receive a connection from a 3d manipulator for placement within the scene.
The output attribute of the LightNode node is compound attribute called “lightData”. To use this shader, create a LightNode and modify it’s inputs to see the different illumination results.
Command to re-index a polygon mesh based on a used defined starting face, a new mesh is created that has this new ordering.
To use this command, create a poly plane and run the following;
meshReorder pPlane1.vtx[5] pPlane1.vtx[23] pPlane1.vtx[9];
Produces dependency graph node MixtureNode
This node is an example of evaluating multiple inputs and produces a resulting color.
The inputs for this node are two colors and two masks, where each color has a corresponding mask associated with it and the result color is the mixture of both colors with masks.
The output attribute of the MixtureNode node is called “outColor”. It is a 3 float value that represents the resulting color mixture based on the mask values. To use this shader, create a MixtureNode and connect it’s output to an input of a surface/shader node such as Color.
Produces dependency graph node SolidNoise
This node is an example of a 3d texture.
The output attribute of the SolidNoise node is called “outColor”.
This plug-in implements an example custom transform that can be used to perform a rocking motion around the X axis. Geometry of any rotation can be made a child of this transform to demonstrate the effect. The plug-in contains two pieces:
1. The custom transform node -- rockingTransformNode
2. The custom transformation matrix -- rockingTransformMatrix
These classes are used together in order to implement the rocking motion. Note that the rock attribute is stored outside of the regular transform attributes.
// Create a rocking transform and make a rotated plane
// its child.
loadPlugin rockingTransform;
file -f -new;
polyPlane -w 1 -h 1 -sx 10 -sy 10 -ax 0 1 0 -tx 1 -ch 1;
select -r pPlane1 ;
rotate -r -ws -15 -15 -15 ;
createNode rockingTransform;
parent pPlane1 rockingTransform1;
setAttr rockingTransform1.rockx 55;
This plug-in implements an example custom transform that can be used to perform a rocking motion around the X axis. The checkAndSetRotation() method is implemented in order to apply locks and rotation limits to user input.
Geometry of any rotation can be made a child of this transform to demonstrate the effect. The plug-in contains two pieces:
1. The custom transform node -- rockingTransformCheckNode
2. The custom transformation matrix -- rockingTransformCheckMatrix
These classes are used together in order to implement the rocking motion. Note that the rock attribute is stored outside of the regular transform attributes.
// Create a rocking transform and make a rotated plane
// its child.
loadPlugin rockingTransformCheck;
file -f -new;
polyPlane -w 1 -h 1 -sx 10 -sy 10 -ax 0 1 0 -tx 1 -ch 1;
select -r pPlane1 ;
rotate -r -ws -15 -15 -15 ;
createNode rockingTransformCheck;
parent pPlane1 rockingTransformCheck1;
setAttr rockingTransformCheck1.rockx 10;
NOTE: classes used in this example derive from classes defined in the rockingTransform example.
Produces dependency graph node ShadowMatte
This node will create a matte/mask only in areas that are in a lights shadow through the transparency output.
You can optionally use a boolean input to see where the shadow areas are in the color channels instead of the mask.
The output attributes of the ShadowMatte node are called “outColor” and “outTransparency”. To use this shader, create a ShadowMatte node with Shading Group or connect it’s output to a Shading Group’s “SurfaceShader” attribute.
Produces dependency graph node slopeShader
The slopeShape is comprised of three components: slopeShader, slopeShader Behavior and slopeShaderNode.
The slopeShader colors faces of a mesh based on their slope or angle relative to a user defined threshold.
Produces dependency graph node SolidChecker
This node is an example of a 3d checker texture.
The output attributes of the SolidChecker node are called “outColor” and “outAlpha”. To use this shader, create a SolidChecker node and connect its output to an input of a surface/shader node such as Color.
Produces dependency graph node PhongNode
This node is an example of a Phong shader and how to build a dependency node as a surface shader in Maya.
The inputs for this node are can be found in the Maya UI on the Attribute Editor for the node.
The output attribute of the node is called “outColor”. It is a 3 float value that represents the resulting color produced by the node. To use this shader, create a phongNode with Shading Group or connect its output to a Shading Group’s “SurfaceShader” attribute.
vertexColorShader (cvColorShader)
This plug-in creates a node that allows vertex color (CPV) to be software rendered.
Produces dependency graph node VolumeNode
This node is an example of a volume shader. Volume shaders are used to apply color to specialized shapes associated with light sources called “light shapes”. One such set of shapes is created by the Light Fog effect. The Light Fog effect can be assigned to any point or spot light through the attribute editors for the point and spot lights.
The output attribute of the VolumeNode node is called “outColor”. To use this shader, create a VolumeNode node and connect its output to the “volumeShader” input of a Shading Group. The shading group must be connected to a light shape.