Rendering

Classes

s&box comes with a good amount of helper classes that simplifies working with various renderer features, such as lighting, decals, depth, envmaps, g-buffer, and many others.

  • 🌥️ Ambient Light
    • How to sample ambient light, DDGI/envprobe/lightmap probe/sky light priority
  • 🔗 Bindless API
    • How bindless API works, how to assign a bindless texture or sampler from C# and read it from the shader
  • 🎇 Decals
    • Applying decals in your custom shaders, understanding the structure of decals structured buffer, and extra data byte address buffer, reading packed buffer data, helper functions
  • 👀 Depth
    • How to sample depth and get various data from it
  • 🪩 Dynamic Reflections
    • Adding support for dynamic reflections to your custom shader
  • 🎨 EnvMap
    • How to sample environment map probe for your custom shader
  • 🌁 Fog
    • Applying fog and its separate effects, such as gradient fog, cubemap fog, and volumetric fog
  • 🌍 G-Buffer
    • Everything you need to know about reading its contents, and writing to G-Buffer
  • 💡 Light
    • Iterating all light sources in your custom shader, understanding light data, sampling shadows, light contribution types, and separate directional light data
  • 🚝 Motion
  • 📉 Procedural Effects
    • Optional library with procedural noises and patterns
  • 🥢 Screen Space Tracing
  • 🕳️ Screen Space Ambient Occlusion
  • ✂️ Texture Sheets

Source: Facepunch/sbox-docs (CC-BY-4.0) · updated 2026-06-22. Read it rendered on the official docs.

More in Rendering

Community wiki — not affiliated with Facepunch Studios. For the latest and most authoritative information, see the official developer wiki.