Mesh Shaders vs Game Engine Software solutions.


I have heard it said that Unreal Engine 5 uses a software version of Mesh Shaders that actually is more efficient than the hardware solution that is offered by Xbox Series Mesh Shaders as well as the Primitive Shaders used on PS5.

Is this true? If so does that make Mesh Shaders irrelevant and would there be any benefit to using the hardware solutions on both Xbox and PS5 over a software solution?


What do you possibly mean by a "software version" of mesh shaders ? Mesh shaders still uses the fixed function rasterizer much like the other hardware accelerated graphics pipelines do ...

As far as I can tell, Nanite has 2 different paths for rendering compressed geometry. There's a compute shader rasterizer for rendering dense micropolygon meshes and in another path they use the traditional graphics pipeline that involves vertex shaders with fixed function rasterization for larger triangles. On PS5, they actually do use primitive shaders for larger triangles instead of a vertex shader but they still use a compute shader as well to do software rasterization. I guess you could use mesh shaders instead of vertex shaders if they really wanted to but there'd be no advantages as the meshes get more dense since the software rasterizer would start to overtake it in performance ...

In the case of rendering static compressed geometry, one could make the argument that mesh shaders are irrelevant since that was supposed to be the feature's ideal usage scenario ...
I presume you're talking about Nanite?

It's awesome tech but still has limitations so there will always be instances where it's not the best option for a particular task and using Prim or mesh shaders would be better.