{"course":{"slug":"image-editing","title":"Editing an Image","url":"https://addaly.com/learn/image-editing","level":"beginner","track":"create"},"lesson":{"slug":"building-shadows-and-reflections","title":"Constructing what the light would have done","url":"https://addaly.com/learn/image-editing/building-shadows-and-reflections","position":53,"of":78,"minutes":9,"answer":"A convincing shadow is dark and tight at the contact and progressively softer and lighter further away, coloured rather than black, and shaped by the surface it falls on.","keyIdea":"A convincing shadow is dark and tight at the contact and progressively softer and lighter further away, coloured rather than black, and shaped by the surface it falls on, and the easiest way to get one right is to extract the real shadow from the element's own original frame."},"body":{"format":"markdown","text":"## Three shadows, built three ways\n\n**The contact shadow.** On a new layer set to Multiply, paint with a soft black brush at 10 to 20 per cent opacity, tight against the base of the object, following its outline. Two or three passes, darkest right at the join, fading within a few pixels. Alternatively: duplicate the object's mask, contract it, blur it by two or three pixels, and fill the result with a dark colour on a Multiply layer. Either way it is small, dark and close.\n\n**The cast shadow from a flat object.** Duplicate the object layer, fill it entirely with a dark colour (lock transparency and fill, or use a Colour Overlay), set the layer to Multiply at 25 to 40 per cent, then:\n\n1. *Edit > Transform > Flip Vertical*, then move it so its top edge meets the object's base.\n2. *Distort* or *Skew* it away from the light at the correct angle and length.\n3. **Apply a graduated blur**: sharp near the contact point, increasingly soft further away. Do this by applying a Gaussian blur through a gradient mask, or by using *Filter > Blur Gallery > Field Blur* with two pins at different radii. This step is what separates a real-looking shadow from a pasted grey shape.\n4. Mask it where it should be interrupted by objects or fall over edges.\n\n**The cast shadow on an uneven surface.** Build it as above, then use a **displacement map**: save a blurred greyscale copy of the surface as a PSD, and apply *Filter > Distort > Displace* to the shadow layer using that file. The shadow now follows the surface's bumps. GIMP has *Filters > Map > Displace* with the same behaviour. For grass, gravel or cobbles this is what makes it work.\n\n## A shadow's density is not one number\n\nThe common error is a shadow of uniform opacity. Real shadows have three zones:\n\n- **Umbra**: full shadow, where the light source is entirely blocked. Darkest.\n- **Penumbra**: partial shadow, where part of the source is visible. This is the soft edge, and its width depends on the source's size and its distance.\n- **Ambient fill**: light reaching the shadow from the sky, from bounce, from other sources. This is why shadows are never black and why they take the colour of whatever is lighting them.\n\nSo the realistic construction is a dark, relatively small umbra near the contact, a wide soft penumbra spreading out, and the whole thing coloured rather than neutral. A Multiply layer filled with a dark blue rather than black is closer to right in daylight, and takes no longer.\n\n## Reflections on a glossy surface\n\nThe standard product treatment, and it takes five minutes.\n\n1. Duplicate the object layer. *Flip Vertical*.\n2. Move it so the base of the reflection meets the base of the object **exactly**. A one-pixel gap reads as a floating object; an overlap reads as sunk.\n3. Add a layer mask with a **black-to-white gradient**, fading the reflection out downwards. How fast it fades is how matte the surface is.\n4. Reduce the layer opacity to 20 to 40 per cent.\n5. Add a small **vertical motion blur** or a progressive Gaussian blur increasing downwards, because a real reflection scatters more the further it travels across a surface that is not a perfect mirror.\n6. If the surface is textured, apply a displacement map so the reflection follows it.\n\nThe details that make it convincing: a reflection is **compressed vertically** when the camera is above the surface rather than level with it, so squash the flipped copy. And it is **darker and less saturated** than the object, because the surface absorbs some light: a Curves layer pulled down on the reflection, plus a small desaturation.\n\nFor a reflection in water, add a horizontal ripple: *Filter > Distort > Ripple* or GIMP's *Filters > Distorts > Ripple*, at a small amplitude, with the wavelength increasing towards the viewer.\n\n## Shadows and reflections from a real frame\n\nThe best shadow is a real one. If you shot the element yourself against a plain surface, the shadow is in the original frame.\n\nTo extract it: take the original layer, desaturate a copy, invert it, and use it as the mask on a black fill layer set to Multiply. The result carries the real shadow's shape, density gradient and softness, which no construction will match. Then transform it to match the new scene's light direction.\n\nThis is the strongest argument for shooting cut-out elements yourself on a white surface rather than sourcing them: you get the shadow for free.\n\n## Checking the geometry\n\nA shadow's direction obeys perspective. If two objects sit on the same ground plane lit by the same sun, their shadows are parallel in reality, which means in the photograph they converge on a point, and that point lies on the horizon if the light is level, below it if the sun is behind the camera, above if it is in front.\n\nThe practical check, without any of that theory: draw a temporary line along an existing shadow in the plate and along the shadow you have built. Do they agree in direction? Then look at their lengths relative to the objects casting them. A metre-tall object with a two-metre shadow next to a two-metre object with a one-metre shadow is wrong, and it is the sort of wrong that people spot immediately.\n\n## The free path and the honest limit\n\nEverything here is available in GIMP, Krita and Photopea: transforms, Multiply layers, gradient masks, displacement maps, ripple and motion blur. Nothing in this lesson needs a subscription.\n\nThe limit is that a constructed shadow is a 2D approximation of a 3D interaction. It holds up for a single object on a simple surface with one obvious light. It breaks down for complex objects (a chair with legs and a back, a person with separated limbs) where the real shadow would show internal structure that a flipped silhouette cannot produce, and for scenes with several light sources, where the real result is overlapping shadows of differing densities.\n\nAt that point, the two honest routes are to photograph the object on a surface in the real light, or to build it in 3D and render the shadow properly. **Blender**, free, will do that, and for a repeated product task it is often less work than faking it once."},"check":{"question":"An editor builds a cast shadow by duplicating the object, filling it black, flipping and skewing it, setting Multiply at 35 per cent, and applying a uniform 12-pixel Gaussian blur. It still looks pasted on. Which change would help most?","options":[{"text":"Raise the opacity to 70 per cent so the shadow reads as a real absence of light.","correct":false,"tempting":"Increases density uniformly, which moves the shadow towards the black-hole look rather than towards the graduated falloff a real shadow has."},{"text":"Apply the blur through a gradient so the shadow is sharp at the contact point and progressively softer further from the object.","correct":true},{"text":"Replace the black fill with a dark blue, since daylight shadows are lit by the sky.","correct":false,"tempting":"Names a genuine improvement to the shadow's colour that addresses a smaller cue than the uniform softness, which is what makes the shape read as a pasted silhouette."},{"text":"Add a displacement map so the shadow follows the texture of the surface beneath it.","correct":false,"tempting":"Offers a refinement that matters on cobbles or grass and does little on the smooth surface where a uniformly blurred shadow most obviously fails."}]},"prev":{"slug":"matching-light-and-shadow","title":"Relighting a cut-out so it belongs","url":"https://addaly.com/learn/image-editing/matching-light-and-shadow"},"next":{"slug":"sky-replacement","title":"A new sky changes the light in the whole photograph","url":"https://addaly.com/learn/image-editing/sky-replacement"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Constructing what the light would have done', in Editing an Image. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/image-editing/building-shadows-and-reflections (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Constructing what the light would have done","courseTitle":"Editing an Image","module":{"index":6,"slug":"compositing","title":"Compositing: making two pictures one"},"answer":null,"keyIdea":"A convincing shadow is dark and tight at the contact and progressively softer and lighter further away, coloured rather than black, and shaped by the surface it falls on, and the easiest way to get one right is to extract the real shadow from the element’s own original frame.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"three-shadows-built-three-ways","runs":[{"text":"Three shadows, built three ways"}]},{"t":"p","runs":[{"text":"The contact shadow.","b":true},{"text":" On a new layer set to Multiply, paint with a soft black brush at 10 to 20 per cent opacity, tight against the base of the object, following its outline. Two or three passes, darkest right at the join, fading within a few pixels. Alternatively: duplicate the object’s mask, contract it, blur it by two or three pixels, and fill the result with a dark colour on a Multiply layer. Either way it is small, dark and close."}]},{"t":"p","runs":[{"text":"The cast shadow from a flat object.","b":true},{"text":" Duplicate the object layer, fill it entirely with a dark colour (lock transparency and fill, or use a Colour Overlay), set the layer to Multiply at 25 to 40 per cent, then:"}]},{"t":"ol","start":1,"items":[[{"text":"Edit > Transform > Flip Vertical","i":true},{"text":", then move it so its top edge meets the object’s base."}],[{"text":"Distort","i":true},{"text":" or "},{"text":"Skew","i":true},{"text":" it away from the light at the correct angle and length."}],[{"text":"Apply a graduated blur","b":true},{"text":": sharp near the contact point, increasingly soft further away. Do this by applying a Gaussian blur through a gradient mask, or by using "},{"text":"Filter > Blur Gallery > Field Blur","i":true},{"text":" with two pins at different radii. This step is what separates a real-looking shadow from a pasted grey shape."}],[{"text":"Mask it where it should be interrupted by objects or fall over edges."}]]},{"t":"p","runs":[{"text":"The cast shadow on an uneven surface.","b":true},{"text":" Build it as above, then use a "},{"text":"displacement map","b":true},{"text":": save a blurred greyscale copy of the surface as a PSD, and apply "},{"text":"Filter > Distort > Displace","i":true},{"text":" to the shadow layer using that file. The shadow now follows the surface’s bumps. GIMP has "},{"text":"Filters > Map > Displace","i":true},{"text":" with the same behaviour. For grass, gravel or cobbles this is what makes it work."}]},{"t":"h2","id":"a-shadow-s-density-is-not-one-number","runs":[{"text":"A shadow’s density is not one number"}]},{"t":"p","runs":[{"text":"The common error is a shadow of uniform opacity. Real shadows have three zones:"}]},{"t":"ul","items":[[{"text":"Umbra","b":true},{"text":": full shadow, where the light source is entirely blocked. Darkest."}],[{"text":"Penumbra","b":true},{"text":": partial shadow, where part of the source is visible. This is the soft edge, and its width depends on the source’s size and its distance."}],[{"text":"Ambient fill","b":true},{"text":": light reaching the shadow from the sky, from bounce, from other sources. This is why shadows are never black and why they take the colour of whatever is lighting them."}]]},{"t":"p","runs":[{"text":"So the realistic construction is a dark, relatively small umbra near the contact, a wide soft penumbra spreading out, and the whole thing coloured rather than neutral. A Multiply layer filled with a dark blue rather than black is closer to right in daylight, and takes no longer."}]},{"t":"h2","id":"reflections-on-a-glossy-surface","runs":[{"text":"Reflections on a glossy surface"}]},{"t":"p","runs":[{"text":"The standard product treatment, and it takes five minutes."}]},{"t":"ol","start":1,"items":[[{"text":"Duplicate the object layer. "},{"text":"Flip Vertical","i":true},{"text":"."}],[{"text":"Move it so the base of the reflection meets the base of the object "},{"text":"exactly","b":true},{"text":". A one-pixel gap reads as a floating object; an overlap reads as sunk."}],[{"text":"Add a layer mask with a "},{"text":"black-to-white gradient","b":true},{"text":", fading the reflection out downwards. How fast it fades is how matte the surface is."}],[{"text":"Reduce the layer opacity to 20 to 40 per cent."}],[{"text":"Add a small "},{"text":"vertical motion blur","b":true},{"text":" or a progressive Gaussian blur increasing downwards, because a real reflection scatters more the further it travels across a surface that is not a perfect mirror."}],[{"text":"If the surface is textured, apply a displacement map so the reflection follows it."}]]},{"t":"p","runs":[{"text":"The details that make it convincing: a reflection is "},{"text":"compressed vertically","b":true},{"text":" when the camera is above the surface rather than level with it, so squash the flipped copy. And it is "},{"text":"darker and less saturated","b":true},{"text":" than the object, because the surface absorbs some light: a Curves layer pulled down on the reflection, plus a small desaturation."}]},{"t":"p","runs":[{"text":"For a reflection in water, add a horizontal ripple: "},{"text":"Filter > Distort > Ripple","i":true},{"text":" or GIMP’s "},{"text":"Filters > Distorts > Ripple","i":true},{"text":", at a small amplitude, with the wavelength increasing towards the viewer."}]},{"t":"h2","id":"shadows-and-reflections-from-a-real-frame","runs":[{"text":"Shadows and reflections from a real frame"}]},{"t":"p","runs":[{"text":"The best shadow is a real one. If you shot the element yourself against a plain surface, the shadow is in the original frame."}]},{"t":"p","runs":[{"text":"To extract it: take the original layer, desaturate a copy, invert it, and use it as the mask on a black fill layer set to Multiply. The result carries the real shadow’s shape, density gradient and softness, which no construction will match. Then transform it to match the new scene’s light direction."}]},{"t":"p","runs":[{"text":"This is the strongest argument for shooting cut-out elements yourself on a white surface rather than sourcing them: you get the shadow for free."}]},{"t":"h2","id":"checking-the-geometry","runs":[{"text":"Checking the geometry"}]},{"t":"p","runs":[{"text":"A shadow’s direction obeys perspective. If two objects sit on the same ground plane lit by the same sun, their shadows are parallel in reality, which means in the photograph they converge on a point, and that point lies on the horizon if the light is level, below it if the sun is behind the camera, above if it is in front."}]},{"t":"p","runs":[{"text":"The practical check, without any of that theory: draw a temporary line along an existing shadow in the plate and along the shadow you have built. Do they agree in direction? Then look at their lengths relative to the objects casting them. A metre-tall object with a two-metre shadow next to a two-metre object with a one-metre shadow is wrong, and it is the sort of wrong that people spot immediately."}]},{"t":"h2","id":"the-free-path-and-the-honest-limit","runs":[{"text":"The free path and the honest limit"}],"role":"free"},{"t":"p","runs":[{"text":"Everything here is available in GIMP, Krita and Photopea: transforms, Multiply layers, gradient masks, displacement maps, ripple and motion blur. Nothing in this lesson needs a subscription."}]},{"t":"p","runs":[{"text":"The limit is that a constructed shadow is a 2D approximation of a 3D interaction. It holds up for a single object on a simple surface with one obvious light. It breaks down for complex objects (a chair with legs and a back, a person with separated limbs) where the real shadow would show internal structure that a flipped silhouette cannot produce, and for scenes with several light sources, where the real result is overlapping shadows of differing densities."}]},{"t":"p","runs":[{"text":"At that point, the two honest routes are to photograph the object on a surface in the real light, or to build it in 3D and render the shadow properly. "},{"text":"Blender","b":true},{"text":", free, will do that, and for a repeated product task it is often less work than faking it once."}]}],"check":{"question":[{"text":"An editor builds a cast shadow by duplicating the object, filling it black, flipping and skewing it, setting Multiply at 35 per cent, and applying a uniform 12-pixel Gaussian blur. It still looks pasted on. Which change would help most?"}],"options":[{"text":[{"text":"Raise the opacity to 70 per cent so the shadow reads as a real absence of light."}],"correct":false,"tempting":[{"text":"Increases density uniformly, which moves the shadow towards the black-hole look rather than towards the graduated falloff a real shadow has."}]},{"text":[{"text":"Apply the blur through a gradient so the shadow is sharp at the contact point and progressively softer further from the object."}],"correct":true,"tempting":null},{"text":[{"text":"Replace the black fill with a dark blue, since daylight shadows are lit by the sky."}],"correct":false,"tempting":[{"text":"Names a genuine improvement to the shadow’s colour that addresses a smaller cue than the uniform softness, which is what makes the shape read as a pasted silhouette."}]},{"text":[{"text":"Add a displacement map so the shadow follows the texture of the surface beneath it."}],"correct":false,"tempting":[{"text":"Offers a refinement that matters on cobbles or grass and does little on the smooth surface where a uniformly blurred shadow most obviously fails."}]}],"order":[2,3,0,1],"why":null},"prev":{"slug":"matching-light-and-shadow","title":"Relighting a cut-out so it belongs","minutes":9},"next":{"slug":"sky-replacement","title":"A new sky changes the light in the whole photograph","minutes":8}}}