Why can't Eevee do the same as CryEngine or Unreal Engine?

Eevee is also undergoing a major rewrite that is bringing large numbers of enhancements and general improvements to all areas. This is also the reason why there has not been a lot of work on the current version. Clement just recently posted on devtalk that he has started the next stage which involves the lighting engine.

1 Like

Yep. I’m really excited for that when it’s finally released, and do recognize that’s a big part of why other eevee improvements haven’t been a development priority, unless they’re adding some of them in as part of the rewrite. I know there are definite plans to convert Nishita to Eevee so that one could happen. But yes, anything they try to add to Eevee now would be twice the work since they’d have to write it for both the current and rewritten version, and it’d be less developer hours going into the rewrite slowing that down too.

It’s just that anisotropic had been discussed well before they announced the Eevee rewrite, and the last time a developer was asked about anisotropic in Eevee, it seemed like they no longer had any plans to add it anytime soon, if ever. I’ve experimented with a lot of methods of faking anisotropic for hair, and coming up with one method that looks good on all hair models in all lighting conditions has been problematic. On the other hand, I’ve had plenty of success with other things in Eevee, so while anisotropic shading remains a sore point, I’m still happy enough with it that it hasn’t driven me to Unreal or Marmoset.

Also, you wouldn’t happen to have a link to that devtalk would you?

1 Like

EEVEE Next - Blender Development - Blender Developer Talk

To keep it clean and easy to reference, the thread is closed to feedback. The master builds from the buildbot actually allow you to taste the new Eevee with an experimental feature flag, but it does not yet do enough to make it usable for production.

2 Likes

Hey @Nanoglyph, you might be interested in this:

https://developer.blender.org/D13522

1 Like

Thanks. Which build? Not seeing it in the 3.3 beta.

Master builds. I mentioned this option a while back here.

Yes, the devs. disable the experimental features for beta and release builds (in part so the bugtracker does not get filled with reports for things they do not consider ready for production).

The new Eevee for instance is definitely not something you can start using now.

Yes I am. And I particularly want to take a moment to appreciate this commit log (emphasis mine):

Diff 5 53982 d26c29d Rebased to master, eevee-rewrite is in now. Can we get this ready before 3.3…

Wonder if I can hack this into a custom build of blender…

1 Like

When I first read Eevee I thought it would be like the game engines so that in Eevee mode the objects would be 100% locked, it would be a mode just for rendering and as such pretty much close to game engines.

However it turned out to be usable in edit mode, thus requiring a lot more resources… but the most important thing that makes everything slow is the lack of:

  • Level of detail
  • Occlusion culling
  • Texture and object streaming
4 Likes

As far as I can tell, after watching many video snippets on Twitter, that those can be “faked” with geometry nodes.

Kinda is like Blender have no benefits (other than technical complexity and maintenance) to offer them by design out of the box.

So kinda puts the responsibility on the user, provided that someone enter the world of Blender, with a hardcore mindset of scene optimization. If someone has no mindset of optimization will struggle for many years until they come up to the conclusion, that the only way forward, to scaling up the scene complexity, is only through sophisticated node setup.

However still the problem exists, that if you end up with a humongous mesh (8 million vertices etc), it will be impossible to squeeze better performance, either you would have to chunk it into bits either get a behemoth of a GPU.

Why everybody want Eevee will be like UE, but not want UE will be like Blender? UE has not any designing and modeling tools (maybe have a little little bit), because UE is game engine, not a 3D modeling and designing software. If you are not a programmer, you never understand what is difference.

1 Like

It’s not that everyone wants Eevee to be like UE exactly, so much as they want some of the performance saving features from UE brought to Blender.

Of the three things Rogper mentioned above, LODs and Occlusion Culling would be absolute killer features, simply because they’d allow you to design your scenes without having to micromanage the minutiae quite so much.

This is not possible. Because UE works low level, not high level like Eevee. Yes, Eevee can have some performance fixes, but never will be like UE, and UE never will be like Blender. This is based programming and designing issues.

I’m not a programmer, but I can’t think of a reason why Eevee couldn’t support LODs and Occlusion. It’s all just polling positions and z-depth buffers relative to the camera.

The biggest difference I can see is that UE always treats the viewport position as if it’s through the camera, while in Blender, the camera is the camera, and if your viewport isn’t currently looking through it, then Blender isn’t registering any information from it.

1 Like

I suppose you know what is LOD. If you know what is, Eevee why need this? And Occlusion. Eevee have occlusion option already. All render engines have Occlusion Culling.

UE works fast, because all vertex and shading datas storing and executing low level.

Think of it like this…

Let’s use a bunch of trees as an example, since trees are what I’ve worked with most over this last year. You place all your high poly objects into the scene, and things are running and rendering a little bit on the chunkity side of things, despite the fact you’re only halfway done. You decide to start cleaning up your scene a bit, replacing some of the trees and shrubs farther away from the camera with lower poly stand-ins. The trees and foliage way off in the background? They can be flat image planes.

So you go through the process of deleting and replacing all the objects that don’t need to have an achingly high polycount. Your scene now runs better, renders faster, and you have more room for play.

…but wouldn’t it be nice if all your tree objects in your library already had LODs attached to them? You wouldn’t have to worry so much about planning ahead, and won’t have to redo anything if you suddenly decide that your scene looks better a little deeper into the forest.

Now UE and Eevee are designed for different use cases. The former is meant to support giant gamespaces, while the latter is primarily about making nice pictures and animations, and building nice objects to be used elsewhere. Eevee doesn’t have to be as efficient as UE does, and doesn’t need things like texture and object streaming, since you’re usually designing to more specific standards in Blender. But still, that doesn’t mean anything that increases performance, lowers ram usage, and generally makes life a little easier, like LODs do, should be ignored.

6 Likes

What will do when continue modeling your mesh? And you need a lot of memory for every LOD model. Only game engines needs LOD, because game engines works with finished models. But Blender is modeling and designing software and main role is these, not realtime rendering. You must choose what you want: Realtime rendering, or modeling and designing. If you want together two of this, then you must give waive somethings.

It depends on your use case. If you’re making a single object, you don’t need LODs. But if you’re making a large scene with a bunch of instanced objects, LODs would be nice.

Ultimately, an LOD’d object will be just as finished as any object you have in your library. If you want to edit it later, you can. When everything is said and done, LODs aren’t some special type of model. They’re just 3 to 5 models that the renderer will swap between depending on it’s distance in meters from the camera.

2 Likes

No, I see you really have not any programming knowledge. Blender use linked objects for this. If you have a lot of same objects, you must use linked objects for performance. And second example, we use real-time rendered background for increase performance. This is trick for the real time rendering but you can only use this for realtime rendering engines, not with 3D modeling programs. Because Blender’s main goal is modeling and designing, not move around scenes in the realtime. This is the main goal of the game engines.

1 Like

Eevee can support LOD, just use UPBGE version of Blender and there is LOD.

1 Like