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 name Parents Classification MFn type Compatible function sets
bump3d node utility/general/bump:drawdb/shader/bump3d kBump3d kBase
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) Type Default Flags
pointCamera (p) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current sample point that has to be shaded
pointCameraX (px) float 0.0 outputinputconnectablehidden
The x component of the current sample position
pointCameraY (py) float 0.0 outputinputconnectablehidden
The y component of the current sample position
pointCameraZ (pz) float 0.0 outputinputconnectablehidden
The z component of the current sample position
pointObj (po) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current sample point that has to be shaded
pointObjX (pox) float 0.0 outputinputconnectablehidden
The x component of the current sample position
pointObjY (poy) float 0.0 outputinputconnectablehidden
The y component of the current sample position
pointObjZ (poz) float 0.0 outputinputconnectablehidden
The z component of the current sample position
refPointObj (rpo) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointObjX (rpox) float 0.0 outputinputconnectablehidden
The x component of the current reference sample position
refPointObjY (rpoy) float 0.0 outputinputconnectablehidden
The y component of the current reference sample position
refPointObjZ (rpoz) float 0.0 outputinputconnectablehidden
The z component of the current reference sample position
refPointCamera (rpc) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current reference sample point that has to be shaded
refPointCameraX (rcx) float 0.0 outputinputconnectablehidden
The x component of the current sample position
refPointCameraY (rcy) float 0.0 outputinputconnectablehidden
The y component of the current sample position
refPointCameraZ (rcz) float 0.0 outputinputconnectablehidden
The z component of the current sample position
rayOrigin (ro) float3 0.0, 0.0, 0.0 outputinputconnectablehidden
The current ray origin
rayOriginX (rox) float 0.0 outputinputconnectablehidden
The x component of the current ray origin
rayOriginY (roy) float 0.0 outputinputconnectablehidden
The y component of the current ray origin
rayOriginZ (roz) float 0.0 outputinputconnectablehidden
The z component of the current ray origin
xPixelAngle (xpa) float 0.002053 inputconnectablestorablehidden
The pixel angle
infoBits (ib) integer 0 outputinputconnectablehidden
Information bits passing along information about type of shading
normalCamera (n) float3 0.0, 0.0, 1.0 outputinputconnectablehidden
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) float 0.0 outputinputconnectablehidden
The X component of Normal Camera
normalCameraY (ny) float 0.0 outputinputconnectablehidden
The Y component of Normal Camera
normalCameraZ (nz) float 0.0 outputinputconnectablehidden
The Z component of Normal Camera
tangentUCamera (tu) float3 1.0, 0.0, 0.0 outputinputconnectablehidden
The surface tangent along U (dPdU)
tangentUx (tux) float 0.0 outputinputconnectablehidden
The X component of the U tangent
tangentUy (tuy) float 0.0 outputinputconnectablehidden
The Y component of the U tangent
tangentUz (tuz) float 0.0 outputinputconnectablehidden
The Z component of the U tangent
tangentVCamera (tv) float3 0.0, 1.0, 0.0 outputinputconnectablehidden
The surface tangent along V (dPdV)
tangentVx (tvx) float 0.0 outputinputconnectablehidden
The X component of the V tangent
tangentVy (tvy) float 0.0 outputinputconnectablehidden
The Y component of the V tangent
tangentVz (tvz) float 0.0 outputinputconnectablehidden
The Z component of the V tangent
bumpDepth (bd) float 1.0 outputinputconnectablestorablekeyable
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) float 1.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
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) float3 0.0, 0.0, 1.0 outputconnectable
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) float 0.0 outputconnectable
The X component of Out Normal
outNormalY (oy) float 0.0 outputconnectable
The Y component of Out Normal
outNormalZ (oz) float 0.0 outputconnectable
The Z component of Out Normal