Video yükleniyor...
Video Yüklenemedi
Meshlet rendering and deferred texturing using a visibility buffer in Godot. For the sake of simplicity I only use dx12 for now.
13,821 görüntüleme • 11 ay önce •via X (Twitter)
20 Yorum

I had a friend try writing a meshlet based renderer on mobile Vulkan for quest 2. He said he could push 10 million triangles at full frames.

Would be interesting to know the ratio between input and final culled triangles. But depending on the scene you can definitely end up with a huge efficiency boost. In the Alan Wake 2 talk they mentioned going from 200 mil to 50 mil triangles being rendered.

Your render on the forest scene or this villa are insane. I'm just totally astonished by what you do. Keep going I want to see where you can go and bring your project on godot. Look like you want to do kcd but in Italia 👌I love it . Prove that godot in 3D is a good engine bro !

Thanks! The scene shown here is just a common example scene like Sponza called "San Miguel". For the forest I have to redo how I cull certain objects that's why I didn't showcase it here. I will do so in the next posts as well as give some more info.

Also i am still in self doubt if meshlet is technically also included in this proposal along with streaming or not . Also this is listed in the priorities page btw ( i delusionaly pray we see news on this in 2026 )

They are talking about splitting the mesh into clusters and streaming/culling those, so yeah pretty much meshlets. However since they focus on backwards compatibility I doubt they would use mesh shaders for that and do it entirely via compute shaders.

That's fine i guess , though they could always do it as a fallback and meshlet for hardware the support it, althout i read someone in rocket that mimicking meshlets with compite seems to have minimal perf differences.

mimicking mesh shading in compute comes with a little overhead because you have to use the graphics pipeline at some point for drawing the meshlets. With mesh shaders you bypass the input assembler, vertex shader, etc.

At least it wont be as big as nanite overhead on meshes that are not 500k polys( HOPEFULLY )

Wow you are doing a really good job modifying the engine for your needs. It look's so sick!! Also ik you understandably won't do it but it would be great if you even opened a pr with this stuff in godot,even if it 's just a proof of concept.

I wonder about the stats. 0 drawcalls: how that? fps average 60: Are the fps somehow limited, or is this just the performance in this scene?

FPS is capped to 60, otherwise I experience some instability in the engine as well as my gpu running wild. As for the stats, since with gpu driven rendering and meshlets you can do fine-grained culling the drawn primitives shown by the engine aren't correct anymore.

Impressive work! Is this for self study or a project you ate working on?

It's for a game I'm working on. As I showed before I expect to have large amounts of alpha tested objects like foliage as well as dense rock formations. I invested in the techniques mentioned in order to achieve those requirements with reasonable performance.

Very impressive. Can't wait to see the progress 🫡

It would be cool to see this officially, you ever have plans to contribute to the repo?

Is this just an experiment?

@ToniMacaroniy Is there any source code for this by any chance? Would be interested in using it as learning material for me and my students

Why DX12 and not Vulkan?

Is this your fork of godot and do you plan on pushing this to Godot main?

