Vulkan ? DX12 ? Meshlet ?... A lot a questions

Hello, i have a lot a question and idk if is the good place, but i’m submit it here ^^

Initially in the way of blender 3.0 I see that Vulkan was planned to be implemented, after a little research I realize that the Repo, is very little updating, and that a lot of people are complaining that since 2019 - 2020 Vulkan must be intended for blender.
And by searching an egg on the internet and in the GitHub repos, I understand that Vulkan is planned for Blender 3.1? and not for the 3.0 (Besides the 3.0 is delayed because it should be released in August 2021 ??) is this correct?

I also have a question about Mesh shader (Nvidia)
I have documented a lot on this technology, having understood that it is supported under, DX12 3D ultimate / VULKAN / OPENGL, I ask myself the question of when, that this technology will see the light of day in blender, both under native form by the entities of the viewport camera and the scene camera, or then both by a separate constructor camera which allows this functionality to be activated independently and to choose the number of vertices per cluster or to leave it dynamically.
The most likely answer I expect to come is, once Vulkan is implemented in Blender 3.1 (3.1 ???) then we will start deploying this technology (Meshlet).

Now I rephrase my questions about Meshlet:

- When is this technology planned (Which blender version) (For eevee 2.0?)?

- The support will be done under which Engine (Dx, opengl, vulkan)?

- Have you already started to work on the integration of this techno (Meshlet)?

Introduction to Turing Mesh Shaders | NVIDIA Developer Blog

EEVEE 2.0

  • I also saw that eevee 2.0 is programmed, what are the new functionalities or performance of this new engine?

  • Is for blender 3.1 ?

Thank you in advance for the clarification of my questions
And long live blender!

2 Likes

To help clarify, since I’ve been following development for a long while.

Eevee rewrite has no ETA at all. In august it was announced that Bakker was working in other more urgent areas and that meant the Eevee rewrite being postponed, there’s no roadmap as of now.

Also, no news about meshlets or any other proprietary tech, it’s a bit futile to ask about specifics because not only Eevee is not being actively developed, is also not on the table.

I am sure you read this, but I suggest you to read it again, and take it literally and word by word. The Eevee rewrite to Vulkan does not aim to magically improve performance tenfold while adding RTX and tons of cool tech features of modern GPUs.

Right now it only aims to replace the OpenGL backend with the Vulkan backend. Period. This will make Eevee future proof and easier to be gradually implementing new features that Vulkan will make easier to implement.

As usual, and due to the open source nature of Blender, if the assigned dev is busy coding stuff that is important to make sure 3.0 gets released, and someone finds that the Eevee 3.0 is a priority, grants can be given or if you’re a coder you can try to tackle the project.

But just remember that everybody has different priorities, you may think meshlets are of utmost priority, and I may think it’s useless because you cannot implement that easily with Cycles for whatever reason (just giving an example, may be wrong about it). The Blender Foundation assigns development resources to where they see fit, and they cannot please everybody.

You are putting the cart before the horse. What benefit do you expect from Mesh shader? Will it add new capabilities to Blender, and if so, what are they?

2 Likes

Regarding meshlets and similar technology. There is a lot that can be done in Blender to improve handling of high poly geometry rendering, meshlets are one solution but for example Unreal 5 has another approach that does not rely on it and works on many more GPUs. In any case, there is no concrete plan or decision in this area right now.

To be clear, Eevee is being actively developed by Clément, we’re hoping for the rewrite to be released in Blender 3.1. This rewrite does not depend on Vulkan or RTX, it’s primarily about improving Eevee functionality. There’s some forward thinking being done to ensure it’s compatible with adding ray-tracing in the future.

Vulkan and ray-tracing support are largely independent of this, those are steps that will happen after the Eevee rewrite. Vulkan is also being worked on, but with a lower priority than the Eevee rewrite.

12 Likes

Thank you for answering me, yes I do understand that each developer is assigned to a task and when it is completed he can move on to the next one, it seems to me quite logical in itself, because once start the work we finish it, we do not have fun doing the job and launching Lots of projects at the same time so as not to finish them!

Indeed I had read the article about eevee, and I also understood that the direct performance will not affect, but this just allows a better implementation of the additions and a great ease!

So if I ask questions about meshlets, it is because this technology is very interesting, and allows to gain performance gains in rendering and in viewport navigation thanks to the different approach it offers (Culling , cluster culling etc …)
This is a huge time saving for the Renderings because any geometry not displayed is not to be calculated, and thanks to the principles of the display limitation of a certain number of TRI MAX we do not overload the performances and all that remains managed by additional LODS.
For me this technology is really a big leap in time even though it has existed since 2000, and besides AMD and Nvidia each have their own in terms of mesh technology:

  • Primitive AMD Mesh
  • Nvidia mesh Shader

I was able to document myself a lot on Mesh shader, But that of AMD remains very little to document although nevertheless the 2 technologies which are based on exactly the same principle with a few exceptions (that of Nvidia is better) We really have big gains in terms of performance, because obviously everything that is not svu is not processed and therefore for example for large sculpt it can be very interesting in terms of performance, the same when rendering the scene!

And besides these technos are natively increment in DX12 From what I could read, and also in vULKAN And OpenGL (??)

But I understood that your procedure is as follows

EEVEE-REWRITE → VULKAN → And the additions will be done here
l (Or)
l → Vulkan For EEVEE-REWRITE

But quite honestly after my personal research, and once the high priority on Blender, I think it would be wise to be interested in an implementation for Blender, Because it is only a matter of time before seeing these techno appear among competitors. And is only beneficial in optimization!

Thank you for reading me and looking forward to reading you too

Nahhh i know the rewrite of eevee with vulkan is the first one and when it’s done we can now implement some other functions, … But was just trying to figure it out just simple … now i get it!

Eevee rewrite is using culling, see here:
https://developer.blender.org/rB5697f96608ce96f25e02b3888325d0d23a613175

1 Like

Thank you sir, i just check that idk if is the same utilisation with the cluster and more… but i see it’s just the begin of the culling , also idk if he use they own system culling (Create own like Mesh shader, with cluster culling, cluster, tri etc…) Or he use directly the implement of Mesh shader (Meshlet)

I’m follow this topics now, i go check it everyday :slight_smile:

That change is about light culling, which is different than culling high poly geometry. Note we already do culling of objects outside the view, and in sculpt mode the mesh is segmented into parts to be able to cull parts of the mesh outside the view.

There are various improvements possible in this area (occlusion culling, doing more work on the GPU, mesh compression, …). Some may be helped by new technologies, but’s really that’s not the starting point.

2 Likes

so this is just the “start to culling” and over time you will either take the current techno path or improve on the current project. but in any case, I note that everything is still closely linked by the methodology.

Finally, I especially want to say that it is a bit like a temporary solution for the moment and then you would evolve to the present Mesh Shader (Meshlet)

Oh ok i see :slight_smile: i think the first step is integrate in fist time, OpenSubdiv but for real i think isn’t a good features for a big result ! Yes is good for a small result but… is just good, not exceptionnal ! But i think the combinaison with

 - Opensubdiv with :
  • Occlusion Culling
  • Frustrum Culling

is more the best way for increase the perf in the first time ! i know is used in a lot of game engine, and i can tell without scary thing is the good first idea for complete EEVEE-REWRITE and CYCLES X ! for the first improvement !

and when this task was fully implemented the next way is integrate Mesh shader or create a similar version of Mesh shader with a lot of option like define custom cluster vertex ex : 32, 64 or 128 with Dyn LODS etc etc… anyway like mesh shader or nanite both are the same…

But really focus on Opensubdiv with occ cull and Frus cull in one MORE BIG STEP For eevee-rewrite first!!

PS : if my mind is right i think in cycles we can activate camera culling in object property and in simplified menu activate the frustum culling and distance for the object have the propriety activated (culling function on this object).