Part of the Khronos Group

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 3 of 3

Thread: NVIDIA Mesh Shading

  1. #1
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004

    NVIDIA Mesh Shading

    I thought I'd open a thread on this for folks to post details on this as it comes out (and just as an FYI for those that hadn't seen it yet and are interested). If you see something new on this out there, please do follow up with links!

    Just announced publicly a few days ago (this was NDA-only at SIGGRAPH), NVIDIA announced a new variant on the standard GPU graphics pipeline, supported in Turing, which replaces the frontend geometry stages with two new shaders: the Task Shader and Mesh Shader. Reportedly, this offers much more flexibility in how geometry is sourced or generated for rasterization.

    No GL-specific info out there on it yet, other than that NVidia says this (unlike RT Core access) will be supported in OpenGL.

    Here is some of the content out there on it:

    See the whitepaper for a pipeline diagram. This is a snippet from their write-up:

    Quote Originally Posted by NVIDIA Turing GPU Architecture - Whitepaper
    Mesh Shading introduces a new, more flexible model that enables developers to eliminate CPU draw call bottlenecks and use more efficient algorithms for producing triangles.
    Instead of sending each object to the GPU with a unique draw call from the CPU, a developer can now send the GPU a list of many objects. The Task Shader then process [sic] this object list in parallel and launches Mesh Shaders to shade corresponding triangles and submit them to the rasterizer. This approach eliminates the CPU bottleneck for
    object processing and enables an increase of more than an order of magnitude in the number of objects that can be displayed at real time frame rates.

    [Use Cases:]
    ...have multiple versions of each object available (at different levels of detail) and to pick the appropriate version on the fly based on knowing the size of the object in screen space in the current frame. The Task Shader supports this optimization. As it scans an object list it can also look at the size of each object and pick the appropriate LOD version, sending it down to the Mesh Shader for processing,

    ...culling and modifying geometry based on its position...
    Last edited by Dark Photon; 09-16-2018 at 02:01 PM.

  2. #2
    Advanced Member Frequent Contributor arekkusu's Avatar
    Join Date
    Nov 2003
    Introduction to Turing Mesh Shaders blog post with GLSL examples (but no extension spec.)

  3. #3
    Advanced Member Frequent Contributor arekkusu's Avatar
    Join Date
    Nov 2003
    And now the extension specs are in the registry.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts