| 123456789101112131415161718192021222324252627 | // Amplify Shader Editor - Visual Shader Editing Tool// Copyright (c) Amplify Creations, Lda <info@amplify.pt>namespace AmplifyShaderEditor{	[System.Serializable]	[NodeAttributes( "Edge Length Tessellation With Cull", "Miscellaneous", "Tessellation level computed based on triangle edge length on the screen with patch frustum culling" )]	public sealed class EdgeLengthCullTessNode : TessellationParentNode	{		private const string FunctionBody = "UnityEdgeLengthBasedTessCull( v0.vertex, v1.vertex, v2.vertex, {0},{1})";		protected override void CommonInit( int uniqueId )		{			base.CommonInit( uniqueId );			AddInputPort( WirePortDataType.FLOAT, false, "Edge Length" );			AddInputPort( WirePortDataType.FLOAT, false, "Max Disp." );			AddOutputPort( WirePortDataType.FLOAT4, Constants.EmptyPortValue );		}				protected override string BuildTessellationFunction( ref MasterNodeDataCollector dataCollector )		{			return string.Format(	FunctionBody,									m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ),									m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) );		}	}}
 |