If you have ever rendered a scene in Blender, cranked a slider called Max Bounces from 4 to 32, waited twenty extra minutes and then squinted at the result wondering what actually changed, this article is for you. Global illumination is the single concept that explains why some renders feel photographic and others feel like plastic toys lit by a flashlight in a black void.
At Pixel Pastry we spend our days lighting product shots, architectural interiors and character renders, so we built a small test scene and rendered it twice: once with direct light only, once with full GI. Below you will see exactly what bounce light adds, what it costs in render time, and which settings are actually worth your attention.
What is global illumination? The short answer
Global illumination (GI), also called indirect illumination or indirect lighting, is a group of rendering algorithms that simulate how light bounces from surface to surface instead of stopping at the first object it hits. A renderer with GI enabled calculates not only the light that travels straight from a lamp to a surface, but also the light that reflects off walls, floors, ceilings and objects, picking up their colour along the way.
The word global is the key. Local (direct) illumination asks a narrow question: “how much light does this pixel receive from the lamps?” Global illumination asks a much bigger one: “how much light does this pixel receive from everything else in the scene?”
That difference produces three effects you can spot instantly in any render:
- Soft ambient fill: shadows are no longer pure black, because light bouncing off nearby surfaces sneaks into them.
- Colour bleeding: a red wall throws a subtle red tint onto the white floor beside it.
- Natural contact darkening: corners and crevices get darker because fewer bounces can reach them, which is the real physical phenomenon that ambient occlusion tries to fake.

Direct light vs indirect light, explained without maths
Stand in a room with one window. The patch of sunlight on the floor is direct light: photons travelled from the sun, through the glass, onto the floor. Now look at the ceiling above that patch. It is lit too, even though the sun never touches it. That is indirect light: photons hit the floor, bounced up, and illuminated the ceiling. If your floor is a warm oak parquet, the ceiling picks up a faint amber glow.
In the real world, the vast majority of what you see is indirect light. Turn off GI in a render and you delete most of reality.
| Aspect | Direct lighting only | Full global illumination |
|---|---|---|
| Shadow interiors | Pure black, crushed detail | Filled with soft bounced light, readable detail |
| Colour interaction | None, every surface is isolated | Colour bleeding between neighbouring surfaces |
| Perceived realism | Flat, “video game from 2004” look | Photographic, grounded objects |
| Lighting workflow | Needs many fake fill lights | One or two lights are often enough |
| Render cost | Very cheap | Significantly heavier, noise must be resolved |

Our Cycles test: the same scene, two lighting models
To make this tangible we built a classic box interior: white ceiling and back wall, a saturated red wall on the left, a saturated blue wall on the right, a matte grey floor, one glossy sphere and one rough cube. A single area light sits in the ceiling. Nothing else. No HDRI, no fill lights, no cheats.
Render A: direct lighting only (Max Bounces = 0)
Setting Light Paths > Max Bounces > Total to 0 in Cycles kills all indirect light. The result:
- The ceiling around the light is completely black, because nothing shines up at it.
- The red and blue walls are lit only where the lamp reaches them directly, and they transfer zero colour to the floor.
- The underside of the sphere disappears into darkness. The object looks like it is floating on a void rather than sitting in a room.
- Contrast is brutal. There is no midtone information between “lit” and “black”.
It renders almost instantly and it is almost useless.
Render B: full GI (Max Bounces = 12)
Same lamp, same materials, bounces restored:
- The ceiling is now softly lit by light coming back up from the floor.
- The left side of the white sphere turns faintly pink, the right side faintly cyan. That is colour bleeding, and it is the fastest way to convince a viewer that an object belongs in its environment.
- The crease where the cube meets the floor darkens naturally. You did not add an ambient occlusion pass. Physics did it for you.
- Overall the image is brighter, because energy is being reused instead of thrown away.
Render C: two bounces only
An interesting middle ground. With Total bounces = 2 you get roughly 85 to 90 percent of the visual benefit for a fraction of the cost in simple exteriors. Interiors are a different story: light needs many bounces to travel deep into a room, so low bounce counts make interiors look dingy and undersaturated.
Render times and noise: the honest numbers
These figures come from our test box at 1920×1080 on a single mid-range GPU. Treat them as ratios, not absolutes, because your hardware and scene complexity will shift everything.
| Setup | Max bounces | Samples for a clean result | Relative render time |
|---|---|---|---|
| Direct only | 0 | ~64 | 1x (baseline) |
| Light GI | 2 | ~256 | ~3.5x |
| Standard GI | 8 to 12 | ~512 | ~6x |
| Overkill GI | 32 | ~512 | ~6.6x for almost no visible gain |
The lesson: the jump from 0 to 2 bounces is transformative. The jump from 12 to 32 is usually money burned. Each additional bounce carries less energy than the last, so the visual contribution decays fast while the cost keeps climbing.

Path tracing: how Cycles actually computes bounce light
People use “ray tracing”, “path tracing” and “global illumination” as if they were synonyms. They are not.
- Ray tracing is a technique: shoot a ray, find what it hits. It is a tool.
- Path tracing is an algorithm built on ray tracing that follows a whole path of rays through multiple bounces, randomly sampling directions at each surface.
- Global illumination is the result you are trying to achieve. Path tracing is one way to get there. Radiosity, photon mapping, voxel cone tracing and light probes are others.
The path of a single ray, step by step
- Cycles fires a ray from the camera through a pixel.
- The ray hits the grey floor. Cycles evaluates the material and asks the lights directly: “is any lamp visible from here?” That is the direct contribution.
- The ray then picks a random new direction weighted by the material’s properties, and continues. This is bounce number one.
- It hits the red wall. Direct light is sampled again, and the red albedo tints the energy carried back down the path.
- Repeat until the bounce limit is reached, or until the path is terminated early by Russian roulette because it carries too little energy to matter.
- All contributions are added together and returned to the pixel.
Because each step involves a random choice, one path is a wild guess. That is why the first preview render looks like television static.
What samples really are
A sample is one complete camera path per pixel. Render at 16 samples and each pixel has averaged 16 guesses. Render at 1024 and it has averaged 1024. The average converges toward the correct answer, and the leftover randomness is what you see as noise.
The maths is unforgiving: noise decreases with the square root of the sample count. To cut noise in half you need four times the samples. This is why people who blindly set 4096 samples out of habit are wasting hours. Better strategies:
- Use the adaptive sampling noise threshold (around 0.01 for finals, 0.05 for previews) and let Cycles stop working on pixels that are already clean.
- Enable the denoiser and stop at a moderate sample count. Modern denoisers using albedo and normal passes recover an enormous amount of detail.
- Fix the cause of the noise instead of throwing samples at it. Tiny bright lamps in a dark interior, sharp caustics through glass and hidden emissive materials are the usual culprits.
The bounce settings in Blender Cycles, decoded
Open Render Properties > Light Paths and you will find a list that most artists never touch with confidence. Here is what each one governs.
| Setting | What it controls | Practical advice |
|---|---|---|
| Total | Hard ceiling on all bounce types combined | 8 for exteriors, 12 to 16 for interiors |
| Diffuse | Bounces off matte surfaces, the main source of colour bleeding | 4 is plenty in most scenes, 8 for bright white interiors |
| Glossy | Reflections bouncing between shiny surfaces | 4 normally, raise for mirror rooms or chrome products |
| Transmission | Rays passing through refractive glass and liquids | Needs to be high (12+) for thick glass, whisky, gems |
| Volume | Scattering inside fog, smoke, clouds | Keep low unless you specifically need multiple scattering |
| Transparent | Alpha-mapped cutouts such as leaves and hair cards | Raise it for foliage, otherwise leaves render as black patches |
| Clamp Indirect | Caps the brightness of indirect samples | A value of 10 kills fireflies, but too low a value dims your GI |
| Fast GI Approximation | Replaces deep bounces with an AO-style approximation | Excellent for animation previews and heavy vegetation |
Ambient occlusion is not global illumination
This confusion is everywhere, so let us be blunt. Ambient occlusion is a cheap approximation of one side effect of GI. It darkens creases based on geometric proximity. It knows nothing about lights, nothing about colour, and nothing about where energy actually comes from.
With true global illumination, that contact darkening emerges on its own and it is directionally correct. If you are running Cycles with full GI and still stacking an AO pass on top out of habit, you are usually just dirtying your image. Use AO deliberately as a compositing tool for art direction, not as a substitute for physics.

Irradiance caching, light caches and other shortcuts
Brute force path tracing is accurate but expensive, so renderers historically invented ways to store indirect light rather than recompute it for every pixel.
Irradiance caching
The renderer computes indirect light at a scattered set of points on surfaces, then interpolates smoothly between them. Because diffuse indirect light changes slowly across a surface, the interpolation is often invisible. It is fast, but it can produce blotches and flickering in animation. Engines such as V-Ray and older mental ray builds leaned on this heavily.
Photon mapping
Photons are emitted from the lights, bounced around the scene and deposited into a map. The camera pass then reads that map. Historically the best method for caustics.
Radiosity
The classic 1980s approach: divide everything into patches and solve the energy exchange between them. View independent and beautifully soft, but limited to diffuse surfaces.
Light probes and baked lightmaps
The real-time approach used in games. Bounce light is precomputed offline and stored in textures or probe volumes, so the GPU only has to look it up. Cheap at runtime, but static.
Where does Cycles sit? Cycles is a brute force, unbiased path tracer by design. It deliberately avoids irradiance caching so that results converge to a physically correct answer with no blotching and no flicker in animation. That is why Cycles has no “irradiance cache” checkbox to hunt for. If you want the speed of caching in Blender, the equivalent modern workflow is EEVEE with baked irradiance volumes, or the Fast GI approximation in Cycles.
Global illumination in real time: EEVEE, Lumen and the game engine world
Many people searching for this term arrive from gaming rather than 3D production, so it is worth mapping the vocabulary across.
- Blender EEVEE (Next): since Blender 4.2 the real-time engine handles ray-traced indirect lighting and screen-space GI far better than the old EEVEE, with irradiance volumes for the light that screen space cannot see.
- Unreal Engine Lumen: a hybrid dynamic GI system combining screen traces, signed distance fields and, on capable hardware, hardware ray tracing.
- Unity: offers baked lightmaps, Enlighten-style realtime GI and Adaptive Probe Volumes depending on pipeline.
- Godot SDFGI: signed distance field global illumination, fully dynamic and probe free.
- In-game graphics menus: when a game exposes a “Global Illumination: Low / Medium / High / Ultra” slider, it is choosing the resolution and range of these probe or ray-traced systems. Higher settings mean more accurate bounce light and lower frame rates.
The physics is identical. The only difference is the time budget: Cycles has minutes per frame, a game has about 8 milliseconds. Originally covered on https://maximagamingstudio.com.

Five practical takeaways for your next render
- Light your scene with fewer lights. Once GI is doing the work, extra fill lights usually flatten the image rather than improve it. Remove them and let the bounce fill the shadows.
- Care about surface albedo. A pure white diffuse value of 1.0 does not exist in reality and it makes GI explode in render time. Keep diffuse albedo between roughly 0.2 and 0.8.
- Big lights bounce better. A large soft area light or an HDRI generates far cleaner indirect light than a tiny point lamp of the same intensity.
- Preview with 2 bounces, finish with 8 to 12. Lighting decisions are made on shapes and ratios, not on the fifth bounce.
- Watch the Indirect Light render pass. Isolating the GI contribution in the compositor teaches you more in ten minutes than a week of blind slider tweaking.
Frequently asked questions
What does global illumination do, exactly?
It calculates the light that reaches a surface after bouncing off other surfaces. In practice it fills shadows with soft ambient light, transfers colour between nearby objects, darkens tight corners naturally and makes overall brightness behave the way it does in the real world.
Should I turn global illumination off?
In an offline renderer such as Cycles, almost never. Turning it off is only useful as a diagnostic, to isolate direct light while debugging, or as a stylistic choice for graphic, non-photoreal looks. In a video game, lowering or disabling GI is a legitimate way to reclaim frame rate on weaker hardware, at the cost of flatter, less believable lighting.
Is global illumination the same as ray tracing?
No. Ray tracing is a method for finding what a ray of light hits. Global illumination is the goal of simulating bounced light. Path tracing (which uses ray tracing) is the most common way to achieve GI today, but GI can also be produced by radiosity, photon mapping, light probes or voxel-based methods that are not ray tracing in the strict sense. More at https://adobe.com.
How many light bounces do I need in Cycles?
For exteriors and product shots, a Total of 6 to 8 with Diffuse at 4 is usually indistinguishable from higher values. For interiors, go to 12 to 16 so light can travel deep into the room. Raise Transmission specifically when you have thick glass or liquids, and raise Transparent for foliage with alpha maps.
Why is my GI render so noisy?
Indirect light is estimated from random paths, so scenes where light has to travel a long way before reaching the camera converge slowly. The usual fixes are: enlarge your light sources, open a window or portal for interiors, avoid pure black or pure white albedos, enable adaptive sampling with a sensible noise threshold, apply the denoiser, and clamp indirect light moderately to remove fireflies.
Does more samples mean more bounces?
No, and this is one of the most common misunderstandings. Bounces control how far light travels through the scene. Samples control how many times you repeat the measurement to reduce noise. Adding samples to a 0-bounce render will give you a perfectly clean image with no GI at all.
Does global illumination make renders slower?
Yes, typically three to seven times slower in our test scene compared with direct light only. But it also removes the need for a rig of fake fill lights and hours of manual compensation, so the total time from empty scene to finished shot is usually shorter with GI enabled. Background reading: https://corsair.com.
Wrapping up
Global illumination is not a magic quality slider. It is the difference between simulating a few lamps and simulating a room. Once you understand that every surface is effectively a light source, your lighting choices change: you start thinking about wall colours, ceiling height, floor reflectance and window size, exactly as a photographer or a cinematographer would.
Open Blender, drop a bright red plane next to a white object, render once with Total bounces at 0 and once at 8. That two minute experiment will teach you more about light than any settings preset ever will.
Need help lighting a product, an interior or a full animated sequence? The Pixel Pastry team handles look development and rendering from concept to final frames. Get in touch and tell us what you are building.
