A Shader Graph editor node definition for an upgraded "Vertex Blend" node. It exposes four hidden float outputs mapped to i.vBlendValues.x/y/z/w so the shader graph can access per-vertex blend components.
namespace Editor.ShaderGraphExtras.Nodes;
[Title("SGE - Vertex Blend"), Category( "Shader Graph Extras - Upgraded" ), Icon("brush")]
public sealed class SGEVertexBlendNode : ShaderNode
{
[Output( typeof( float ) )]
[Hide]
public static NodeResult.Func R => ( GraphCompiler compiler ) => new( NodeResultType.Float, "i.vBlendValues.x" );
[Output( typeof( float ) )]
[Hide]
public static NodeResult.Func G => ( GraphCompiler compiler ) => new( NodeResultType.Float, "i.vBlendValues.y" );
[Output( typeof( float ) )]
[Hide]
public static NodeResult.Func B => ( GraphCompiler compiler ) => new( NodeResultType.Float, "i.vBlendValues.z" );
[Output( typeof( float ) )]
[Hide]
public static NodeResult.Func A => ( GraphCompiler compiler ) => new( NodeResultType.Float, "i.vBlendValues.w" );
}