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);
    }
}





Created 11 Dec 2024
Updated 16 Dec 2024