FUSION · NODE REFERENCE
BumpMap
Height / packed bump image to 3D material normals
BumpMap accepts one 2D heightmap or packed bumpmap image and outputs 3D Material normal data for the Bump Map input of Blinn, Phong and compatible Fusion materials.
BumpMap
Overview
What BumpMap does
BumpMap is not a normal image filter and it does not accept a base material. It has one image input and one Material output: a 2D map enters the node, becomes texture-space normal information, then feeds the Bump Map Material input of Blinn, Phong or another compatible material.
This is the key distinction between BumpMap and CreateBumpMap. CreateBumpMap produces an RGB bumpmap as an ordinary image that can be viewed and processed by 2D tools. BumpMap converts a height/bump image into material data used by the 3D lighting calculation.
With Source Image Type set to Heightmap, the input is interpreted as scalar height. White generally means higher and black lower, but visible bump comes from local height change between neighboring pixels rather than from absolute brightness. A constant white or gray field does not create the same detail as a gradient or edge.
Height Channel selects the scalar source: Luminance, Average, Max, Min, Red, Green, Blue or Alpha. This matters for colored source maps and technical RGBA textures where useful height may live in only one channel.
Luminance and Average are not equivalent. Luminance applies a brightness-style RGB reduction while Average treats channels equally; Max and Min choose the largest or smallest RGB component. A colored texture can therefore produce very different bump structures under different channel modes.
Filter Size 3/5 controls the neighborhood used when deriving a surface direction from height. Size 3 remains more local while size 5 samples a broader area and normally smooths fine variation. This is not a Renderer3D quality preset and is separate from Texture Filtering Mode.
Height Scale increases the slope magnitude used to perturb normals. Raising it makes lighting react more strongly but can turn noisy or very fine height data into harsh, dirty highlights. Tune source frequency/detail before relying on extreme Height Scale.
Clamp Z Normal limits low Z components in the resulting bump-normal texture. It is a safeguard against extreme normal tilt, not a second strength control. Diagnose Scale and Clamp separately on a sharp test map.
Wrap Mode controls border sampling while the bump is built or filtered. Wrap samples across to the opposite image edge, Clamp holds the edge value, and Mirror reflects the image at the border. This can fix or expose seams, but it does not enable or scale geometry UV tiling.
For a genuinely tileable height texture, Wrap can avoid an artificial normal discontinuity at the source-image seam. For a non-tileable map, Clamp is usually a safer starting point while Mirror provides a third border-extension experiment.
With Source Image Type set to Bumpmap, the input should already carry packed normal perturbations in RGB. Fusion historically packs normal components from the signed -1..+1 range into a positive 0..1 image representation; CreateBumpMap generates a compatible form.
Do not assume every blue/purple normal map from another renderer or game engine is automatically compatible with Fusion Bumpmap mode. Tangent handedness, axis direction and channel conventions can differ. If known bumps turn into dents, investigate conventions rather than compensating with a stronger Scale.
In Fusion terminology, bump maps perturb the existing surface normal while normal maps can describe a replacement normal basis. Operationally, BumpMap is the material bridge that provides normal perturbation for lighting without creating new geometry.
Texture Depth controls the representation of the resulting bump texture: Source, int8, int16, float16 or float32. Higher precision can reduce quantization on smooth normal gradients, but it also costs more and cannot restore detail that is missing from a low-quality source.
Do not promote every bump texture to float32 automatically. Start with Source, then compare float16 or float32 only if banding, steep specular gradients or a high-precision source demonstrate a real need.
Texture Filtering Mode is split into OpenGL LowQ/HiQ and Software LowQ/HiQ. These settings govern how the bump texture is sampled by the relevant renderer/quality path; they are not the same control as Heightmap Filter Size.
The current captured OpenGL menu shows Nearest, Bilinear, Trilinear and Anisotropic. Nearest preserves hard texel transitions, Bilinear smooths neighboring samples, while Trilinear and Anisotropic are more relevant under minification and oblique viewing angles. Validate the final choice on moving geometry and the target GPU.
The current captured Software rows show Nearest, Bilinear and SAT. SAT is a software-renderer sampling path and should not be treated as a one-to-one synonym for OpenGL Anisotropic filtering.
LowQ and HiQ are separate quality tiers. If the interactive Viewer and final software render disagree, first confirm the active renderer/quality tier and the corresponding filter rows before changing Height Scale to compensate.
Material ID is a common material control and only becomes useful when Renderer3D outputs the MatID auxiliary channel. In a nested BumpMap branch, final ID behavior should be checked live; production selection IDs are usually easier to manage deliberately at the top-level material or geometry layer.
BumpMap changes shading normals, so a useful light is essential for evaluation. Flat frontal lighting can hide the effect, while a side Spot/Directional light and readable specular response expose normal-direction problems quickly.
The node does not change the silhouette. If an edge must physically become rough, cracked or displaced, use displacement or actual mesh geometry. BumpMap is intended for fine optical surface detail.
UV coordinates belong to the geometry rather than BumpMap. The node interprets the image and creates material normals, but it cannot repair a bad UV layout, wrong texture-coordinate scale or seams caused by geometry mapping.
The correct topology is Image/Heightmap → BumpMap.Image → BumpMap.Material → Blinn/Phong.Bump Map Material → Geometry.Material → Merge3D → Renderer3D → RGBA. Routing the Material output into a normal Merge or MediaOut is a data-type error.
Five bundled captures anchor the current Controls UI: Source Image Type, Filter Size, Height Channel, Clamp Z Normal, Height Scale, Wrap Mode, Texture Depth, four renderer filtering controls and Material ID. They are evidence of this UI state; exact runtime filtering, packed-map orientation and nested MatID behavior remain live-verification items for the target build.
When to use it
Fine stone, concrete, metal, skin, paper and plastic relief without additional geometry
Scratches, pores, grain and embossed detail on Blinn/Phong materials
Fast Noise or another procedural texture as a heightmap
Using Alpha/Red/Green/Blue from a technical packed image as scalar height
Converting a prepared CreateBumpMap image into a 3D material bump branch
Comparing packed-bump and heightmap workflows on the same surface
Controlling tileable-map border seams with Wrap Mode
Renderer-specific OpenGL and Software texture filtering
Higher precision bump textures through float16/float32 when quantization is proven
Adding surface detail without changing the geometry silhouette
BumpMap in context
Screenshots referenced by this article. Open an image to inspect it at full size.
Example for BumpMap.
Original imageExample for BumpMap.
Original imageExample for BumpMap.
Original imageExample for BumpMap.
Original imageExample for BumpMap.
Original image