NoiseBall6 is a Unity sample project that shows how to access vertex/index buffers directly from compute shaders.
This sample uses the new Mesh API (available from Unity 2021.2a19) that exposes vertex/index buffers from a Mesh object via GraphicsBuffer objects. You can directly read/write them from compute shaders without spending CPU-side resources.
For details of the new API, please check out the introductory document.
This repository contains a common source code package and multiple projects that work with each render pipeline/feature.
- Common: C# scripts & compute shaders
- DXR: HDRP + DXR sample project (requires ray-tracing hardware)
- HDRP: HDRP sample project (runs on desktop/console)
- URP: URP sample project (compatible with all platforms)
The Common package is automatically referenced from each project. You can simply open these projects without any special care.