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

I thought the idea was using Eevee in realtime instead of offline rendering. There are use cases for that too. But I don’t think that is high priority in Blender development.

The best, optimal, and simplest approach is to simply display a placeholder (a surrogate object used only for visual representation) in the viewport and render the object in full resolution only during the final rendering.

…But then we can’t render it and we have mostly the GPU memory to do that, so, even if we can render it and bits and composite them later, for that Cycles is better… so Not that linear in the real world.

Like @GruntAxeman says Eevee is for the ones that like to render things as if using a game engine, in which we see what we get during the entire process. Eevee was supposed to be like that :slight_smile:
The only “mistake” I see with Eevee is that in Eevee mode objects shouldn’t be editable, they should be locked like in Game Engines and thus make use of all the normal game engine features.

To edit the objects we would simply change to the Look Dev shading and would do the edit.
Look Dev and Eevee are now, apparently, very close to the same thing.

In the past, I used the Blender Game Engine to render things (capturing the screen) and if you recall on BGE we can’t edit the objects and we did had LOD :slight_smile: I really thought Eevee would be like that too.

The BGE used its own code for a lot of things, including what you mentioned. As there was barely any activity in the BGE code (in the official Blender code base), they decided to switch gear and planned to work towards an “Interactive Mode” where a lot more code is shared and as such minimizing the risk of it being abandoned again.
I don’t see how being able to edit a mesh would prevent it from using LODs. When an object is being edited, disable LODs for that object for displaying and show possibly one specific LOD or whatever makes sense (haven’t though this through).

LODs are usually not distance based, but based on some bounding box size in the rendered image. (@cyso, I know you are just quoting and I know it is not really important, but I just couldn’t ignore it :slight_smile: )

1 Like

I don’t see how being able to edit a mesh would prevent it from using LODs

It’s not that… on a game engine you can’t edit the objects for a reason and that’s because for one to be able to edit there’s a huge amount of memory that needs to be permanently allocated (as far I understood). Game engines consider the model a locked thing that can’t ever be changed, thus saving a bunch of resources.

LOD’s on a game engine are equally locked objects that can’t be changed… and even Unreal Engine 5 Nanite is “just” a real-time decimate thing that also decimates from locked objects.

Bottom line, if ones want speed from a graphic card, the objects must be considered a locked thing… and that’s related to the necessity of having the data permanently available in one case and not in the other.

That’s probably also related to why game engines can have object and texture streaming…

Sure, game engines use a lot of trick to optimize the topology, or have static meshes which can be processed faster. However, you can also have usual or unoptimized meshes in them. You don’t need to keep everything in memory, but you could just load the original mesh for the object to be edited and once the editing is finished, it could be optimized again and the original mesh could be unloaded.
However, as far as I know, Blender doesn’t have a concept like an optimized mesh. (As far as I remember, neither did the BGE? Feel free to correct me on that one, because I am not too sure about that!)

Let’s pretend for a second that Blender had something like optimized meshes and let’s pretend you could create an “Asset” and optimize the contained meshes in there. Now you could build a scene with optimized meshes quite easily. On a technical level, the optimized “Asset” could easily be replaced with the original one for editing purposes and optimized again when the editing is finished. There is no need to always keep everything in memory, but it could be loaded as needed. (I know the original “Asset” can’t be edited at the moment in Blender in a different scene…)

3 Likes

The only mesh optimization method I know is my work :slight_smile:
Yeah, I agree with you. Edit it but lock it to the render/real-time playback, something like that might work… but then I imagine that a buffer would be required and could take a bunch of time doing the buffering :thinking:

Yes! The good old background scenes can’t indeed be edited, but does performance-wise makes any difference!? It should indeed… very well remembered! :slight_smile: Now who knows how to explain that one!?

That was my whole point. On a technical level, being able to switch to edit mode doesn’t prevent Blender from having game engine like optimizations.

4 Likes

There is for sure a good reason why we can’t… or else it would be working like that now :slight_smile:
Let’s hope someone can bring some light to this matter.

Hi,

In Viewport mode, never can do Occlusion Culling, because you can edit this object. I repeat my words: Blender’s main goal is modeling and design, not realtime rendering like a game engine.

If someday add a realtime mode in the Eevee like old BGE, only then Blender can do this things.

You can edit objects in unreal too(modeling, UV’s, polygroups…)

4 Likes

Well, yes and no :slight_smile:
You can Edit objects in Unreal, but then, as soon you finish your editing, it processes them as non-editable objects again :slight_smile:

And what do you think edit mode does in Blender? :smiley:

It’s not the same, on Blender you can enter and exit from edit mode instantaneously without any “buffering”. On Unreal as far I know it’s not instantaneous.

You can not edit in the game mode, so compiled mode.

1 Like

It’s instantaneous in both when mesh is low poly and slow in both with high polycounts.

Can you please explain why the hell would you want edit asset in deployed project and how that relates to blender?? Blender doesn’t even do any sort of deployment for platforms (yet) this isn’t even comparable area.

2 Likes

Because Blender is modeling and designing software. If I don’t want edit, why I am using Blender? I can simply use UE5 or Unity.

The important takeaway is that Blender’s “Edit Mode” is not the reason why there aren’t more real time optimizations is Blender. At this point Blender doesn’t have anything like optimized meshes or compiled meshes or whatever they are named in different software. Even if Blender had this kind of additional and faster mesh, there could still be an edit mode.

3 Likes

Not possible. Occlusion Culling and LOD can not implemented in Edit Mode.

Didn’t blender developers tease some form of “blender apps” not so long ago? What do you do then, stop using blender cause it can also deploy applications? What’s this logic?

1 Like

I don’t understand what you saying.