Why are volumetrics so much better in Eevee compared to Cycles?

Cycles volumetrics brings my computer to a crawl and is full of noise.
Yet Eevee it seems to work flawlessly and looks amazing.
I understand that Eevee is not physically accurate, but will we be able to use Eeevee volumetrics IN Cycles?

I hope that at some point we can export some passes from eevee renders and mix them with cycles.
eevee volumetrics added on top of a cycles render will be a perfect candidate for that.

I guess getting passes from eevee will be tackled when working on the BI replacement.

Good question ! The real deal would be… custom viewport compositing ! Take this from Eevee, that from Cycles, etc.


I hope that at some point we can export some passes from eevee renders and mix them with cycles.

Compositing volumetrics requires deep compositing, which the compositor can’t do (yet).


In my use cases, the whole Eevee engine is better than cycles.

Not everyone needs 2048 bounces of XYZ feature,

I really wish that blender offers a less clunky way of “rendering” Eevee stills/animations in the future.

How about having scene objects acting like an holdout/transparent material in eevee, and render volumetrics more or less transparent according to density. and then alpha-over it on top of the same scene rendered in cycles ? as you will do with a Zbuffer fog

I don’t see the need of deep compositing here since eevee render and cycles render could share the same geometry, but I may be mistaken…

1 Like

It seems - just shooting from the hip here - that it would be supper easy to create a depth pass using Eee Vee volume with solid color versions of your objects and use that as a mask. Then composite that over a cycles render. And then a solid color could be used as the fog. In theory you could also get the light shafts working in the same pass. Just sort of thinking out loud. But the answer is to play with it and see. :wink:

1 Like

Eevee looks gorgeous, but we must remember that it’s still encumbered by the inherent difficulties and limitations brought by scanline rendering.

Refraction for instance is one layer only and soft shadows are simply too intensive to do unless you do an offline render. SSR also has to rely on at least some form of raytracing to get good contact with object (which is fast, but getting that done with scanline techniques was not readily doable).

Again, not a knock on Eevee as the scanline technology inside of it beats the stuffing out of BI, but it’s still not going to be a full replacement for Cycles if you want the maximum level of realism and shading quality. You will have to work with special objects and deal with certain limitations (and getting rid of both of those things without resorting to raytraced effects is difficult if you still want interactive framerates).

For many cases though, what it brings to the table should be enough for most people (I mean you have Hollywood producers using the Cryengine for backgrounds).

@sozap: I don’t know what blender renderer you are reffering to but the ones that exist now(cycles, clay, EV etc) those ARE the replacement renderers…the blender internal has been replaced.

@Ace: I’m sure soft shadows are quite doable…I’m not sure what you mean in this case? Could you clarify…most modern game engines can do soft shadows no problem…even older engines :). But you may mean something entirely different so…?

Game Engines mostly don’t do real soft shadows. Even physically plausible area lights are something quite new. What they do is some shadow filtering, that make the shadows edges look soft. But these are often “fake” techniques that don’t care about the size of a light. To do correct soft shadows you can do two thins:

  1. Bake them in lightmaps. This is mostly done with photon maps, is not realtime and takes time.
  2. Do some sort of “realtime raytracing”. You can do cone tracing against a voxel representation of the scene. You can do cone tracing against distance fields (as unreal engine does). You can do cone tracing against the capsules that represent characters (the last of us done this first, unreal engine supports it, too). But al these techniques are just faking it.
    But you could do better, more high resolution, percentage closer filtered shadows or work with variance shadow maps. They look at least okay, but aren’t real soft shadows.

Regarding volumetrics. Set the number of volume bounces to 0 and you are almost doing what evee does. But your volume is casting shadows and influences other light bounces. If it is still to noisy, use the light path node and set the density close to 0, if your ray depth is bigger than 1 or 2 and your Volume has almost no impact on the later bounces. Or you could mix in the volume absorption instead of the wa more noisy volume scatter for later bounces. It is fake, but it is still closer to reality as Evee and it is quite fast.

edit: I don’t know, how Evee does it, but most game engines calculate the volumetrics at half resolution and sometimes even blur/denoise it or at least do some temporal reprojection to gather more samples over time.
You could setup something similiar in Cycles, too: Render the volumes in a seperate pass at lower resolution (I’m not sure if the Blender compositor has some bilateral upscale node, which would be needed to look good) or render them at full res and do some bilateral blur before compositing it into the final render.

Nothing in cg does ‘real’ soft shadows everything is an approximation to some degree…I am more than familiar with how a game engine works :slight_smile: but bluring any shadow is making it a soft shadow and generally if you ‘jitter’ you still want to blur it as well…it is completely doable in eevee…not by me mind you…I’m an idiot :slight_smile:

Hum, I meant, now we still have BI in the list of the available renderers. Eevee should replace internal, but still lack some features like NPR shading or multipass rendering. If I understand correctly, the focus now is to give Eevee PBR feature to be a good preview for cycles, but after that it should be completed with BI features before BI completely disappear from the interface. That’s why in my point of view BI hasn’t been fully replaced yet.

This is why I don’t fancy Cycles; It’s just not as fast and effective as other choices. The same visual result can be achieved in even the stock Blender Internal rendering engine, it just takes playing with a lot of settings and emulating effects to achieve the same result, in yes, far less time per rendered frame. The only advantage cycles has (in my opinion) is GPU rendering. Cycles obviously has some vast advantages outside of that since it’s what EVERYONE uses in the Blender community, but I like to take something basic and build it into a titan, since full control is involved.

I am excited for more efficient and better rendering sources and tricks in Blender 2.8 though.

As long as the renderes are flexible enough, you can achieve the same results in all those renderers. It can be a lot easier to achieve in certain renderers, but sometimes with the drawback of longer render times. Bender Internal can require quite a few fancy adjustments to achieve a certain look. If some major elements changes in the scene, it in not unlikely that the fancy adjustments have to be made again. I never had that with Cycles. I usually only had to fine tune a few parameters and that’s it.
From a usability point of view, both have their pros and cons. While on the technical side, it is very good to get a replacement for Blender Internal, as it became more difficult for the developers to work with it.

hahaha … what a nonsense! :smiley:

I can live with those “limitations”

I’d at least like the option

Indeed. Quoted for agreement.

You’re not serious, right? Cycles is one of the fastest renderer out there, if not the fastest, in some, not quite rare, cases. I have most of my production 2K renders under 5 mins on my 1070gtx, with all the candy like glossy reflections, gi, glass, subsurface scattering and even micro displacement and DOF. Try to mention that to Vray or Arnold guys. My favorite part come when at the end you say that it’s only 100+ mb program, and yo can download and use it for free. Just love the look in their eyes :slight_smile:

You should try redshift, it’s faster than Cycles ^^

Yu are right, but so far no Blender support AFAIK, Corona is Also great, very fast being a CPU render engine, awesome results and free for Blender :slight_smile: