| vivster said: Can somebody ELI5 mesh shaders? I tried to read the documentation from Microsoft but it's too high level for me. |
The best ELI5 I could find is:
"In 3D graphics, a mesh is the set of vertices, edges and faces that define the shape of an object. In current graphics pipelines, all the geometry data in a mesh must be processed sequentially before any further steps can be taken. This can be a significant performance bottleneck.
Mesh shaders replace the old model with a new approach to geometry processing that simplifies the graphics pipeline while also giving developers more flexibility and control. Mesh shaders can process small sections of a mesh, called meshlets, in parallel with a much greater degree of flexibility and control."
Now I am not a game dev so take what I say with a grain of salt but afaik it's like this.
Traditional Pipeline has different Shaders that do different things but they also need to wait for the prior Shader to complete it's task before starting the next one:
Vertex Shader --> Tessellation --> Geometry Shader --> Raster
Where as with Mesh Shaders, because it's more general purpose, they can do all that in parallel. So you can tell a Mesh Shader to do Tessellation and you can tell another one to do Vertex and another to do Geometry so that it can all be done in Parallel instead of continuously having to go through the same steps and needing to wait for certain ones to be done first before proceeding to the next one.

PC Specs: CPU: 7800X3D || GPU: Strix 4090 || RAM: 32GB DDR5 6000 || Main SSD: WD 2TB SN850







