The nice thing is that the mesh shader has no defined inputs. Mesh shaders are available in OpenGL, Vulkan and DirectX 12 Ultimate (dx12 won’t be covered in this article). A mesh shading pipeline can have a task, a mesh and a pixel shaders or a mesh and pixel shaders (the task shader is an optional stage). But basically, a task shader generates work for mesh shaders while a mesh shader generates primitives (points, lines or triangles). I haven’t played with the task shader yet, only with the mesh shader. The mesh shading pipeline adds two new shader stages: the task shader and the mesh shader. Mesh shaders are computing-like shaders specialized in graphics tasks. Why compute-like shader? Because like compute shaders, you can set the number of threads for work groups or use synchronization functions like barrier(). In few words, a mesh shader program can be seen as the association of a compute-like shader and a fragment shader. This illustration from NVIDIA shows the mesh shading pipeline versus regular VTG pipeline: The mesh shading pipeline replaces the regular VTG pipeline (VTG = Vertex / Tessellation / Geometry). Mesh shaders are a feature introduced with NVIDIA Turing GPUs. Textured Quad with Mesh Shaders in OpenGL and Vulkan.RGB Triangle with Mesh Shaders in Vulkan. RGB Triangle with Mesh Shaders in OpenGL.I recently added a basic support of mesh shaders in GeeXLab and here is an overview of mesh shaders for GL/VK devs based on the following articles published on the GeeXLab blog:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |