We can't use Bloom the same way we do in Eevee since Cycles does not have a bloom feature built into the render engine. Instead, we add the bloom effect in post-production. This is how we can do it.
After your render has finished, go to the compositing workspace and check "use nodes". Between the Render layer node and composite node, add a glare node from the filter submenu after pressing Shift+A. Set the type to "Fog Glow" and quality to "high" then adjust the threshold, mix and size values for your scene and desired result.
Now, of course there are multiple ways we can do this and this may not be the best, but it is definitely the fastest. Let's explore Bloom with Cycles a bit more.
According to Wikipedia Bloom is an effect that is caused by a camera's inaccuracy to focus.
In normal conditions the camera can focus well enough but when excessive amounts of light is added, the bloom effect becomes much more visible.
The effect is most visible in areas of great contrast, such as from an overexposed window viewed from inside a dark room. In that case the bloom will spread from the window out into the darker room before it fades away.
Take this image for example. It looks almost as if you could touch the light.
Bloom is an attractive effect that is often desirable. Sometimes we can see it with our own eyes as well since our on-board camera isn't perfect either.
We can also fake bloom in most image manipulation software or compositors. Blenders compositor is no exception.
Another cool feature we can use in the compositor is masking with cryptomatte. You can check out the article here:
Related content: How to use cryptomatte for masking in Blender
The reason we don't have bloom in Cycles is because it is a ray traced engine. A ray traced engine just tries to mimic how light travels and it does so pretty well. So well in fact that if we want a scene to look photo real we sometimes have to add post-processing effects to mimic the faults of the camera.
Bloom among other light artifacts that we can get from a camera isn't part of the ray traced calculation. We either get it with a real camera or we have to simulate the effect afterwards. Even if we had a checkbox to add bloom to Cycles, it would still be a post processing effect. To have a ray traced engine calculate bloom would be very computational intense and hard to implement.
In Eevee, everything is approximated and "cheated" by using different techniques to speed up the rendering. In such a render engine it is only natural to add post-processing effects straight into the render engine. It is just another effect.
A word of caution though, be careful with effects that tries to recreate imperfections. As a rule of thumb, never add an effect that photographers would try to get rid of, or at least make the effect barely visible in those cases.
In Blender, the glare node in the compositor is really at the heart of creating bloom for Cycles. But keep in mind that this is a separate tool within Blender.
There is no stopping us from using another compositor, like Nuke or Natron. We can even bring our render into a 2D image editor and create bloom there.
If you plan on creating your bloom effect in another application, I suggest that you export the rendered result as a multilayer openEXR file to maintain as much information as possible when you export.
A JPEG or PNG file format will compress your image and there won't be nearly as much information to work with left in the image.
With that out of the way, lets focus on the compositor. This is a little work in progress that we can use to take a look at the effect.
A bloom effect creates a very soft feel to an image and if your render has fireflies in them or is too grainy as a result from too few samples the result may not look very good. In that case you can use the intel denoiser together with it.
Related content: How to use Intel denoiser in Blender
Here is also a closeup on the node setup.
First we have the glare type. We have several to choose from, and we can combine multiple glare nodes if we want more than one of these effects.
The options we have are:
For a bloom effect fog glow will most likely work best. But sometimes we may want another more dramatic effect. Here for example is a combination of fog glow and ghost.
There are only three more settings that are common for all glare types. These are threshold mix and quality.
For the glare type specific settings, you can check out the Blender manual.
The threshold value will allow the effect to occur for pixels that are brighter than the given value. For instance with a value of 1, pixels that are brighter than white will glow.
You can see that the default value is 1 and it is the value we used in our examples. This may sound confusing, after all, how can something be brighter than white?
If a surface is hit with more light and therefore overshoots a white value, we get a higher value for that pixel even if the screen only can output white as a result. The underlying number producing that brightness is actually lighter.
This is a good thing because then we can let glow occur when there are excessive amounts of light. Exactly what we want.
If you are having trouble with lighting, I suggest that you check out the Physical Starlight And Atmosphere add-on for natural lighting. For studio lighting, I think Pro-Lighting: Studio can't be beaten.
The mix value will mix the output between the original image and the glare node output. Allowing us to dial back the effect without needing more nodes. A value of 0 is a 50/50 mix. For full glow effect we use 1 and for the original image we use -1 as values.
The last setting, we will cover that is common for all glare types is the quality. What it does is that for low and medium settings the effect is applied to a lower resolution version of the original image to speed up rendering.
This however will change the effect. For instance, with fog glow the glow effect becomes more spread on a lower quality setting. This does not mean that the end result becomes more pixelated or anything like that.
The short answer is no. You don't need emission to have a bloom or glow effect in Cycles. But it certainly helps to create a more distinct effect since it is at the most contrast edges the bloom effect is most visible.
In the example above the surfaces are just diffuse. The bloom effect is then created from the excessive amounts of light hitting the surface, making a non-emitting object seem to glow. In this case the light hits straight not, but we can have bounce light strong enough for a bloom effect as well.
Bloom is a very desirable effect. It adds atmosphere to an image or animation and creates mood. I also add to the realism or rather, our perceived realism of a scene as well.
Thanks for your time.