{"repo":"MarioAndF/n8ao-webgpu","free":true,"listed":false,"github":"https://github.com/MarioAndF/n8ao-webgpu","clone":"git clone https://github.com/MarioAndF/n8ao-webgpu.git","description":"Three.js WebGPU/TSL adaptation of N8AO.","language":"TypeScript","stars":67,"topics":["ambientocclusioin","threejs","webgpu"],"license":"CC0-1.0","category":"game-templates","readme_excerpt":"N8AO-WebGPU An efficient and visually pleasing implementation of Screen Space Ambient Occlusion for the Three.js WebGPU/TSL pipeline, adapted from N8AO by N8python. Officially endorsed by the original author. AO is critical for creating a sense of depth in any 3D scene — it darkens corners, crevices, and areas where geometry blocks light. If your scene looks \"flat\" or lacks depth cues, this package will help. Why N8AONode? Three.js ships GTAONode and SSGINode as built-in WebGPU AO options, but both have practical drawbacks: - GTAO — produces visible halo artifacts at depth discontinuities, especially at close zoom levels. Requires additional denoising that is not included out of the box, and the denoiser itself struggles at high zoom where sample density drops. - SSGI — higher quality when static, but significantly more expensive. Temporal filtering helps at rest, yet any post-blur reintroduces halos. Performance degrades quickly on zoomed-in or large-scale scenes. N8AO's approach — hemisphere sampling with built-in spatial + temporal denoising and depth-aware upsampling — stays clean at all zoom levels without external denoise passes, avoids halos, and maintains predictable performance via half-res mode and quality presets. Without AO With AO :-----------------------------------------------------------------------------------------: :-----------------------------------------------------------------------------------------------: Images from the original N8AO by N8python Live","default_branch":null,"files":null,"tree":[],"storefront":"/r/MarioAndF","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/MarioAndF/n8ao-webgpu/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}