Editor/UpgradedShaderGraph/Nodes/UpgradedNodes/VertexBlend.cs

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.

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