Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 5 of 5

Thread: NVIDIA Mesh Shading

  1. #1
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004
    Location
    Druidia
    Posts
    4,567

    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 03:01 PM.

  2. #2
    Advanced Member Frequent Contributor arekkusu's Avatar
    Join Date
    Nov 2003
    Posts
    890
    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
    Posts
    890
    And now the extension specs are in the registry.

  4. #4
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004
    Location
    Druidia
    Posts
    4,567
    Looks like the latest NVidia drivers have extension support (411.63 Windows): LINK

    In the release notes, this is interesting:

    Quote Originally Posted by Release 410 Graphics Drivers for Windows, Version 411.63
    New extensions for Turing GPUs:
    - VK_NVX_raytracing (also available for Pascal GPUs with 8GB or more video memory, and Volta GPUs)
    - ...
    Oddly enough, that doesn't appear to be the case here after installing them.

    Other Turing/OpenGL-related links:

    Last edited by Dark Photon; 09-21-2018 at 06:37 AM.

  5. #5
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004
    Location
    Druidia
    Posts
    4,567

Posting Permissions

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