page_type | languages | products | name | urlFragment | description | extendedZipContent | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
|
|
Direct3D 12 mesh shader samples |
d3d12-mesh-shader-samples-win32 |
This collection of projects act as an introduction to meshlets, and rendering with DirectX mesh shaders. |
|
This collection of projects act as an introduction to meshlets, and rendering with DirectX mesh shaders.
-
GPU and driver with support for DirectX 12 Ultimate
- DirectX Mesh Shader spec/documentation is available at DirectX Mesh Shader Specs site.
This project acts as an example of how to incorporate DirectXMesh meshlet generation functionality into a complete mesh conversion application. The application is structured as a basic command line tool for loading and processing obj files. The processed mesh is exported using a simple binary runtime file format targeted at fast loading and rendering with DirectX apps.
This project demonstrates the basics of how to render a meshletized model using DirectX 12. This application loads the binary model files exported by the Wavefront Converter command line tool.
In the Mesh Shader Pipeline API there's no concept of instancing such as in the legacy pipeline. This leaves the logic of instancing meshes entirely up to application code. An inefficient implementation can waste precious threads within threadgroups. This sample demonstrates an implementation which aims to optimize instancing of meshletized meshes by packing the final, unfilled meshlets of multiple instances into a single threadgroup.
The generic functionality of amplification shaders make them a useful tool for an innumerable number of tasks. This sample demonstrates the basics of amplification shaders by showcasing how to cull meshlests before ever dispatching a mesh shader threadgroup into the pipeline.
This sample presents an advanced shader technique using amplification shaders to do per-instance frustum culling and level-of-detail (LOD) selection entirely on the GPU for an arbitrary number of mesh instances.
We welcome all feedback, questions and discussions about the mesh shader pipeline on our discord server.