Editor/ShaderGraphPlus/Nodes/WorldToProjectionNode.cs

An editor Shader Graph node definition named WorldToProjectionNode. It defines a non-previewable node that outputs a Float4x4 matrix named g_matWorldToProjection for use in shaders.


namespace ShaderGraphPlus.Nodes;

[Title( "World To Projection" ), Category( "Variables/Matrix" ), Icon( "apps" )]
public sealed class WorldToProjectionNode : ShaderNodePlus
{
	[JsonIgnore, Hide, Browsable( false )]
	public override Color NodeTitleColor => ShaderGraphPlusTheme.NodeHeaderColors.GlobalVariableNode;

	[JsonIgnore, Hide, Browsable( false )]
	public override bool CanPreview => false;

	[Output( typeof( Float4x4 ) ), Title( "Matrix" )]
	[Hide]
	public NodeResult.Func Result => ( GraphCompiler compiler ) =>
	{
		return new NodeResult( ResultType.Float4x4, "g_matWorldToProjection", true );
	};
}