What is a mesh shader?
Mesh shaders introduce a new approach to geometry processing that simplifies the graphics pipeline while also giving developers more flexibility and control.
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 approach with a new model that brings the power, flexibility and control of a compute programming model to the geometry pipeline.
Mesh shaders can process small sections of a mesh, called meshlets, in parallel with a much greater degree of flexibility and control.
Amplification shaders, another new part of the mesh shader pipeline, are especially useful for culling, as they can efficiently determine which meshlets are visible before shading. An amplification shader can cull nonvisible meshlets far more efficiently than the traditional methods. You can read more about mesh shaders on the Microsoft DirectX Developer Blog and in the DirectX Functional Spec.
The 3DMark Mesh Shader feature test shows how game engines can improve performance by using the mesh shader pipeline to efficiently cull geometry that is not visible to the camera.
The test scene is a hall containing many rows of highly detailed, carved pillars. As the camera moves through the scene, the pillars in the foreground block the view of those further back.
The test runs in two passes. The first pass uses a traditional approach to geometry culling to provide a performance baseline. The second pass uses mesh shaders to efficiently cull hidden meshlets.
The result of the test is the average frame rate for each pass and the difference between the two expressed as a percentage. You can read more about the test in the 3DMark user guide.
The 3DMark Mesh Shader feature test includes an interactive mode that helps you visualize the benefits of using mesh shaders. You can pause and jump to different parts of the timeline and change settings in real-time. Use visualizer options to highlight meshlets or see the level of detail (LOD) used for each meshlet.
Experience DirectX 12 Ultimate with 3DMark
DirectX 12 Ultimate adds powerful new features and capabilities to DirectX 12. These features enable game developers to create ever more realistic graphics while also improving performance and frame rates.
3DMark has a dedicated test for each of the new features in DirectX 12 Ultimate:
3DMark DirectX Raytracing feature test 3DMark Mesh Shader feature test 3DMark VRS feature test 3DMark Sampler Feedback feature test (coming later this year)
As well as measuring performance, each of these tests also has an interactive mode that lets you experiment with different settings to see the effect on image quality and performance. You can read more about DirectX 12 Ultimate on the Microsoft DirectX Developer blog.
The Mesh Shader feature test?is?available today as?a free update for 3DMark Advanced Edition.?From now until February 15, 3DMark is 85% off, only $4.49 (USD), when you buy it from Steam.
In 3DMark Professional Edition, the Mesh Shader feature test is available as a free update for customers with a valid annual license.
The 3DMark Mesh Shader feature test requires Windows 10 version 2004 or later and a graphics card with drivers that support Microsoft DirectX 12 Ultimate. For AMD GPUs, we recommend installing the latest Radeon Adrenalin Edition 21.2.2 drivers. ?
3DMark now has a Mesh Shading benchmark
Posted on Friday, Feb 12 2021 @ 09:19 CET by Thomas De Maesschalck
UL Benchmarks announces the addition of a Mesh Shading test to the 3DMark suite. This test covers a DirectX 12 Ultimate feature that allows game developers to boost performance by using mesh shaders in the pipeline.