Go to: Related nodes. Attributes.

Bump3d is a utility node that is useful for doing Bump Mapping. Its job is to take the output of any 3d texture (usually the Out Alpha attribute) and convert it to "perturbed normals" that are used to calculate bump maps.

Certain 3d textures, such as Crater, have an Out Normal attribute built right into them. They can be connected directly to a shader to do bump mapping. The others need to go through a bump3d node.

Usually, the system will create the bump3d node for you when you specify a 3d bump map texture. The Out Alpha attribute of the texture is connected to the Bump Value attribute of the Bump3d node, and the Out Normal attribute of the Bump3d node is connected to the Normal Camera attribute of a shader node, such as Lambert or Blinn or Phong.

 Stucco            Bump3d           Blinn
 ---------         ------           -----
 Out Alpha  ---->  Bump Value
                   Out Normal ----> Normal Camera

You can also "stack" different bump maps on top of one another. To do this, connect the Out Normal attribute of one bump map to the Normal Camera attribute of another.

 Stucco        Bump2d        Marble        Bump2d           Blinn
 -------       ------        ------        ------           -----
 Out Alpha --> Bump Value    Out Alpha --> Bump Value
               Out Normal ---------------> Normal Camera
                                           Out Normal ----->Normal Camera

Note: If you are bump-mapping a shader that is using environment maps, then you must connect the Out Normal attribute of the bump node to the Normal Camera attribute of the Environment Texture, as well as to the Normal Camera attribute of the shader. Otherwise, the environment will not be correctly reflected in the bumpy areas.

 Stucco        Bump3d         EnvSphere         Blinn
 ------        ------         ---------         -----
 Out Alpha --> Bump Value     Out Color ------> Reflected Color
               Out Normal --> Normal Camera
                      and --------------------> Normal Camera

You can use the other attributes of the Bump3d node to control the depth and filtering of the bump map.

In the table below, important attributes have their names listed in bold in the description column.

This node is MP safe

Node nameParentsClassificationMFn typeCompatible function sets
bump3dnodeutility/general/bump:drawdb/shader/bump3dkBump3dkBase
kNamedObject
kDependencyNode
kBump3d

Related nodes

layeredTexture, envCube, envSphere, envSky, envBall, envChrome, uvChooser, bump2d, texture2d, ramp, file, cloth, water, stencil, checker, fractal, bulge, grid, mountain, texture3d, projection, cloud, granite, crater, leather, stucco, brownian, solidFractal, marble, wood, rock, snow, defaultTextureList, place2dTexture, place3dTexture

Attributes (42)

bumpDepth, bumpFilter, bumpFilterOffset, bumpValue, infoBits, normalCamera, normalCameraX, normalCameraY, normalCameraZ, outNormal, outNormalX, outNormalY, outNormalZ, pointCamera, pointCameraX, pointCameraY, pointCameraZ, pointObj, pointObjX, pointObjY, pointObjZ, rayOrigin, rayOriginX, rayOriginY, rayOriginZ, refPointCamera, refPointCameraX, refPointCameraY, refPointCameraZ, refPointObj, refPointObjX, refPointObjY, refPointObjZ, tangentUCamera, tangentUx, tangentUy, tangentUz, tangentVCamera, tangentVx, tangentVy, tangentVz, xPixelAngle

Long name (short name)TypeDefaultFlags
pointCamera (p) float30.0, 0.0, 0.0outputinputconnectablehidden
The current sample point that has to be shaded
pointCameraX (px) float0.0outputinputconnectablehidden
The x component of the current sample position
pointCameraY (py) float0.0outputinputconnectablehidden
The y component of the current sample position
pointCameraZ (pz) float0.0outputinputconnectablehidden
The z component of the current sample position
pointObj (po) float30.0, 0.0, 0.0outputinputconnectablehidden
The current sample point that has to be shaded
pointObjX (pox) float0.0outputinputconnectablehidden
The x component of the current sample position
pointObjY (poy) float0.0outputinputconnectablehidden
The y component of the current sample position
pointObjZ (poz) float0.0outputinputconnectablehidden
The z component of the current sample position
refPointObj (rpo) float30.0, 0.0, 0.0outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointObjX (rpox) float0.0outputinputconnectablehidden
The x component of the current reference sample position
refPointObjY (rpoy) float0.0outputinputconnectablehidden
The y component of the current reference sample position
refPointObjZ (rpoz) float0.0outputinputconnectablehidden
The z component of the current reference sample position
refPointCamera (rpc) float30.0, 0.0, 0.0outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointCameraX (rcx) float0.0outputinputconnectablehidden
The x component of the current sample position
refPointCameraY (rcy) float0.0outputinputconnectablehidden
The y component of the current sample position
refPointCameraZ (rcz) float0.0outputinputconnectablehidden
The z component of the current sample position
rayOrigin (ro) float30.0, 0.0, 0.0outputinputconnectablehidden
The current ray origin
rayOriginX (rox) float0.0outputinputconnectablehidden
The x component of the current ray origin
rayOriginY (roy) float0.0outputinputconnectablehidden
The y component of the current ray origin
rayOriginZ (roz) float0.0outputinputconnectablehidden
The z component of the current ray origin
xPixelAngle (xpa) float0.002053inputconnectablestorablehidden
The pixel angle
infoBits (ib) integer0outputinputconnectablehidden
Information bits passing along information about type of shading
normalCamera (n) float30.0, 0.0, 1.0outputinputconnectablehidden
Normal Camera. If you are combining more than one bump map, chain them together by connecting the Out Normal attribute of one to the Normal Camera attribute of the next. The last bump map in the chain should be connected to the Normal Camera attribute of the shader.
normalCameraX (nx) float0.0outputinputconnectablehidden
The X component of Normal Camera
normalCameraY (ny) float0.0outputinputconnectablehidden
The Y component of Normal Camera
normalCameraZ (nz) float0.0outputinputconnectablehidden
The Z component of Normal Camera
tangentUCamera (tu) float31.0, 0.0, 0.0outputinputconnectablehidden
The surface tangent along U (dPdU)
tangentUx (tux) float0.0outputinputconnectablehidden
The X component of the U tangent
tangentUy (tuy) float0.0outputinputconnectablehidden
The Y component of the U tangent
tangentUz (tuz) float0.0outputinputconnectablehidden
The Z component of the U tangent
tangentVCamera (tv) float30.0, 1.0, 0.0outputinputconnectablehidden
The surface tangent along V (dPdV)
tangentVx (tvx) float0.0outputinputconnectablehidden
The X component of the V tangent
tangentVy (tvy) float0.0outputinputconnectablehidden
The Y component of the V tangent
tangentVz (tvz) float0.0outputinputconnectablehidden
The Z component of the V tangent
bumpDepth (bd) float1.0outputinputconnectablestorablekeyable
Bump Depth controls how high the bumps will appear to be on the surface. Increase Bump Depth to make the bumps higher. Decrease Bump Depth to make the surface smoother.
bumpFilter (bf) float1.0outputinputconnectablestorablekeyable
Bump Filter affects the amount of filtering performed on a texture used as a bump map.

The amount of filtering the system does is calculated based on how much screen space the texture occupies in the final image. The Bump Filter attribute is a multiplier on that value.

Values greater than 1.0 will cause the renderer to do more filtering. This will make the bumps smoother. Increase the amount of filtering if there is aliasing (i.e. jagged staircase effects) in your final renderings, or if the bump map appears to "pop" or "sizzle" over the course of several frames.

Values less than 1.0 will cause the renderer to do less filtering. This will make the bumps appear sharper. Decrease the amount of filtering. if your bumps are appearing too smoothed-out in the final rendered images.

See also the Bump Filter Offset attribute (below).

bumpFilterOffset (bfo) float0.0outputinputconnectablestorablekeyable
Bump Filter Offset affects the amount of filtering performed on a texture.

Unlike the Bump Filter attribute (which is a multiplier), Bump Filter Offset is added to the system's calculated filtering values. This increases the amount of filtering uniformly.

This attribute can be used to "lock" the system's filtering values. To do this, set the Bump Filter attribute to 0. Then the Bump Filter Offset value will completely determine the amount of filtering.

bumpValue (bv) float0.0outputinputconnectablestorablekeyable
Bump Filter Offset affects the amount of filtering performed on a texture.

Unlike the Bump Filter attribute (which is a multiplier), Bump Filter Offset is added to the system's calculated filtering values. This increases the amount of filtering uniformly.

This attribute can be used to "lock" the system's filtering values. To do this, set the Bump Filter attribute to 0. Then the Bump Filter Offset value will completely determine the amount of filtering.

outNormal (o) float30.0, 0.0, 1.0outputconnectable
Out Normal is the 'perturbed normal', that is calculated from the input texture. Connect this to the Normal Camera attribute of a shader to put a bump map on that shader. Or, connect this to the Normal Camera attribute of another bump map to stack them together.
outNormalX (ox) float0.0outputconnectable
The X component of Out Normal
outNormalY (oy) float0.0outputconnectable
The Y component of Out Normal
outNormalZ (oz) float0.0outputconnectable
The Z component of Out Normal