Movatterモバイル変換


[0]ホーム

URL:


HomeDEVELOPER
Related Resources

Using Turing Mesh Shaders: NVIDIA Asteroids Demo

Dec 18, 2018

The NVIDIAAsteroids demo showcases how the mesh shading technology built into NVIDIA’s Turing GPU architecture can dramatically improve performance and image quality when rendering a substantial number of very complex objects in a scene. The following video highlights the capabilities of the mesh shader in the Asteroids demo.

This video shows off the Asteroids demo in action.

Turing introduces a new programmable geometric shading pipeline built on task and mesh shaders. These new shader types bring the advantages of the compute programming model to the graphics pipeline. Instead of processing a vertex or patch in each thread in the middle of fixed function pipeline, the new pipeline uses cooperative thread groups to generate compact meshes (meshlets) on the chip using application-defined rules. This approach greatly improves the programmability of the geometry processing pipeline, enabling the implementation of advanced culling techniques, level-of-detail, or even completely procedural topology generation. You can find more information on mesh shading in the detailed technical introduction toTuring mesh shaders.

The Asteroids application can achieve very high frame rates by moving key performance bottlenecks of object list processing off of the CPU and into highly parallel GPU mesh shading programs. Starting from an extremely large dataset comprising trillions of potentially visible triangles at any given time, the shaders efficiently eliminate primitives that will never be seen and shade only those contributing to the pixels displayed.

In the demo, each individual asteroid model consists of a sequence of 10 levels of detail, with the highest level containing up to 6 million triangles, as shown in figure 1. This extreme amount of geometric detail allows the largest asteroids (several kilometers in size) to retain a very detailed look, even when the player is flying extremely close. You can inspect the triangle meshes by switching to wireframe mode. Activating “Visualize LOD levels” paints each asteroid with a color based on its current LOD, showing how the mesh shaders transition smoothly between LODs. Finally, you can also turn off the dynamic LOD system, and then be able to select the display of any of the first 7 levels of detail.

LoD level image for Asteroids demo
Figure 1. Each LoD level substantially increases triangle count

In addition to dynamic LOD, mesh shading also allows the implementation of smart culling systems, greatly improving rendering efficiency. Culling takes place hierarchically in the demo.

  • First the task shader checks the entire asteroid for visibility and determines which LOD(s) to use.
  • Sub-parts, or meshlets are then tested by the mesh shader.
  • Finally, the remaining triangles are culled by the GPU hardware.

Prior to the arrival of the Turing architecture, GPUs would be forced to cull every triangle individually, creating massive workloads on both the GPU and CPU.

By combining together efficient GPU culling and LOD techniques, we decrease the number of triangles drawn by several orders of magnitude, retaining only those necessary to maintain a very high level of image fidelity. The real-time drawn triangle counters can be seen in the lower corner of the screen. Mesh shaders make it possible to implement extremely efficient solutions that can be targeted specifically to the content being rendered.

Tessellation isnot used at all in the demo, and all objects, including the millions of particles, are taking advantage of Mesh Shading.

We recommend using a gamepad to control the movement of the camera and spaceship; mouse and keyboard support is also available to control movement. See the readme file for a complete list of controls.

You can download the Asteroids demohere and give it a try if you have a Turing-based GPU. You can find an in-depth tutorial on using mesh shaders in the Introduction toTuring mesh shaders post. Christoph Kubisch delivered a talk on mesh shaders at the 2018 SIGGRPH conference, which isavailable for viewing. Finally, if you’d like to learn more about graphics advances built into the Turing architecture, please head over to theTuring Architecture in Depth article.

Related resources

Like

Tags

About the Authors

Avatar photo
About Manuel Kraemer
Manuel Kraemer is currently working as a graphics software engineer at NVIDIA, with a focus on high performance geometry processing. Prior to that he has been contributing as a technical director to many film, animation and televisions projects at Pixar, Disney Feature Animation, Double Negative, and the BBC.

Comments

Related posts

NVIDIA RTX Mega Geometry Now Available with New Vulkan Samples

NVIDIA RTX Mega Geometry Now Available with New Vulkan Samples

NVIDIA Sharing New Details about Mesh Shading at SIGGRAPH 2019

NVIDIA Sharing New Details about Mesh Shading at SIGGRAPH 2019

Using Mesh Shading to Optimize Your Rasterization Pipeline

Using Mesh Shading to Optimize Your Rasterization Pipeline

Mesh Shading: Three Things You Need to Know

Mesh Shading: Three Things You Need to Know

Introduction to Turing Mesh Shaders

Introduction to Turing Mesh Shaders

Related posts

Delivering Dynamic Foveated Rendering with NVIDIA VRSS 2

Delivering Dynamic Foveated Rendering with NVIDIA VRSS 2

NVIDIA VRSS, a Zero-Effort Way to Improve Your VR Image Quality

NVIDIA VRSS, a Zero-Effort Way to Improve Your VR Image Quality

Accelerate OpenCV: Optical Flow Algorithms with NVIDIA Turing GPUs

Accelerate OpenCV: Optical Flow Algorithms with NVIDIA Turing GPUs

Int4 Precision for AI Inference

Int4 Precision for AI Inference

Easy VRS Integration with Eye Tracking

Easy VRS Integration with Eye Tracking

[8]ページ先頭

©2009-2025 Movatter.jp