s&box
RustCounter-Strike 2s&boxDeadlock
Wiki
Get s&box on Steam
Browse
OverviewGetting StartedCreating GamesEngine & ToolsDocumentationCommunity GamesResources
s&boxDocumentationRenderingShadersClasses
SOURCE 2 · C#
Build and play games with s&box.

Facepunch's game engine and creation platform — make games in C#, or jump straight into community games.

Get s&box on Steam

s&box Wiki

  • Overview
  • Getting Started
  • Creating Games
  • Engine & Tools
  • Documentation
  • Community Games
  • Resources

Tools & Community

  • Getting Started
  • Creating Games
  • Engine & Tools
  • Resources

Platforms

  • RustBattle
  • CSBattle
  • Rust Game Wiki
  • CS2 Skins Wiki
  • Deadlock Wiki

About

  • Official Site
  • Developer Wiki
  • GitHub
  • Get on Steam
NOT AFFILIATED WITH FACEPUNCH STUDIOS · © 2026 s&box Wiki (community)
Docs/Rendering
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

AmbientLight
Animated Effects
Attributes and Variables
BeamEffect
Beams
Bindless API
C# Shader Nodes
Command Lists
← All documentation

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