s&box
RustCounter-Strike 2s&boxDeadlock
Wiki
Get s&box on Steam
Browse
OverviewGetting StartedCreating GamesEngine & ToolsDocumentationCommunity GamesResources
s&boxDocumentationRenderingShadersReferenceVertex Helpers
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

Vertex Helpers

Helper functions to do standard vertex shader, does instancing, skinning, etc.

This would eventually be moved to a Vertex or inside PixelInput class that would be more malleable.

Reference

  • ProcessVertex( VertexInput i )
    • Sets up common processing for the Vertex Shader, processing the following steps:
      • Instancing
      • Skinning
      • Position on the world
      • Normals, Tangents from transformation
  • FinalizeVertex( PixelInput o )
    • Does post-processing for the vertex, converts the position on the world to what's displayed on the screen ( Projection Space )

You're expected to commonly use these on start and end of the Vertex Block, and have any modifications of it in between them

VS
{
    #include "common/vertex.hlsl"
    //
    // Main
    //
    PixelInput MainVs( VertexInput i)
    {
        PixelInput o = ProcessVertex(i);
        // Add your vertex manipulation functions here
        return FinalizeVertex(o);
    }
}

Source: Facepunch/sbox-docs (CC-BY-4.0) · updated 2024-12-16. Read it rendered on the official docs.

More in Rendering

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

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