124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Pass
 | 
						|
{
 | 
						|
    $splice(PassName)
 | 
						|
    Tags
 | 
						|
    {
 | 
						|
        $splice(LightMode)
 | 
						|
    }
 | 
						|
 | 
						|
    // Render State
 | 
						|
    $splice(RenderState)
 | 
						|
 | 
						|
    // Debug
 | 
						|
    $splice(Debug)
 | 
						|
 | 
						|
    // --------------------------------------------------
 | 
						|
    // Pass
 | 
						|
 | 
						|
    HLSLPROGRAM
 | 
						|
 | 
						|
    // Pragmas
 | 
						|
    $splice(PassPragmas)
 | 
						|
 | 
						|
    // Keywords
 | 
						|
    $splice(PassKeywords)
 | 
						|
    $splice(GraphKeywords)
 | 
						|
 | 
						|
    // Defines
 | 
						|
    $SurfaceType.Transparent:               #define _SURFACE_TYPE_TRANSPARENT 1
 | 
						|
    $AlphaClip:                             #define _AlphaClip 1
 | 
						|
    $Normal:                                #define _NORMALMAP 1
 | 
						|
    $BlendMode.Add:                         #define _BLENDMODE_ADD 1
 | 
						|
    $BlendMode.Premultiply:                 #define _ALPHAPREMULTIPLY_ON 1
 | 
						|
    $NormalDropOffTS:                       #define _NORMAL_DROPOFF_TS 1
 | 
						|
    $NormalDropOffOS:                       #define _NORMAL_DROPOFF_OS 1
 | 
						|
    $NormalDropOffWS:                       #define _NORMAL_DROPOFF_WS 1
 | 
						|
    $Attributes.normalOS:                   #define ATTRIBUTES_NEED_NORMAL
 | 
						|
    $Attributes.tangentOS:                  #define ATTRIBUTES_NEED_TANGENT
 | 
						|
    $Attributes.uv0:                        #define ATTRIBUTES_NEED_TEXCOORD0
 | 
						|
    $Attributes.uv1:                        #define ATTRIBUTES_NEED_TEXCOORD1
 | 
						|
    $Attributes.uv2:                        #define ATTRIBUTES_NEED_TEXCOORD2
 | 
						|
    $Attributes.uv3:                        #define ATTRIBUTES_NEED_TEXCOORD3
 | 
						|
    $Attributes.color:                      #define ATTRIBUTES_NEED_COLOR
 | 
						|
    $Attributes.vertexID:                   #define ATTRIBUTES_NEED_VERTEXID
 | 
						|
    $Varyings.positionWS:                   #define VARYINGS_NEED_POSITION_WS
 | 
						|
    $Varyings.positionPredisplacementWS:    #define VARYINGS_NEED_POSITIONPREDISPLACEMENT_WS
 | 
						|
    $Varyings.normalWS:                     #define VARYINGS_NEED_NORMAL_WS
 | 
						|
    $Varyings.tangentWS:                    #define VARYINGS_NEED_TANGENT_WS
 | 
						|
    $Varyings.texCoord0:                    #define VARYINGS_NEED_TEXCOORD0
 | 
						|
    $Varyings.texCoord1:                    #define VARYINGS_NEED_TEXCOORD1
 | 
						|
    $Varyings.texCoord2:                    #define VARYINGS_NEED_TEXCOORD2
 | 
						|
    $Varyings.texCoord3:                    #define VARYINGS_NEED_TEXCOORD3
 | 
						|
    $Varyings.color:                        #define VARYINGS_NEED_COLOR
 | 
						|
    $Varyings.vertexID:                     #define VARYINGS_NEED_VERTEXID
 | 
						|
    $Varyings.bitangentWS:                  #define VARYINGS_NEED_BITANGENT_WS
 | 
						|
    $Varyings.screenPosition:               #define VARYINGS_NEED_SCREENPOSITION
 | 
						|
    $Varyings.fogFactorAndVertexLight:      #define VARYINGS_NEED_FOG_AND_VERTEX_LIGHT
 | 
						|
    $Varyings.cullFace:                     #define VARYINGS_NEED_CULLFACE
 | 
						|
    $features.graphVertex:                  #define FEATURES_GRAPH_VERTEX
 | 
						|
    $features.graphColorInterp:             #define FEATURES_GRAPH_COLOR_INTERP
 | 
						|
    $Universal.UseLegacySpriteBlocks:       #define UNIVERSAL_USELEGACYSPRITEBLOCKS
 | 
						|
    $splice(PassInstancing)
 | 
						|
    $splice(GraphDefines)
 | 
						|
 | 
						|
    // Includes
 | 
						|
    $splice(CustomInterpolatorPreInclude)
 | 
						|
 | 
						|
    $splice(PreGraphIncludes)
 | 
						|
 | 
						|
    // --------------------------------------------------
 | 
						|
    // Structs and Packing
 | 
						|
 | 
						|
    $splice(CustomInterpolatorPrePacking)
 | 
						|
 | 
						|
    $splice(PassStructs)
 | 
						|
 | 
						|
    $splice(InterpolatorPack)
 | 
						|
 | 
						|
    // --------------------------------------------------
 | 
						|
    // Graph
 | 
						|
 | 
						|
    // Graph Properties
 | 
						|
    $splice(GraphProperties)
 | 
						|
 | 
						|
    // Graph Includes
 | 
						|
    $splice(GraphIncludes)
 | 
						|
 | 
						|
    // -- Property used by ScenePickingPass
 | 
						|
    #ifdef SCENEPICKINGPASS
 | 
						|
    float4 _SelectionID;
 | 
						|
    #endif
 | 
						|
 | 
						|
    // -- Properties used by SceneSelectionPass
 | 
						|
    #ifdef SCENESELECTIONPASS
 | 
						|
    int _ObjectId;
 | 
						|
    int _PassValue;
 | 
						|
    #endif
 | 
						|
 | 
						|
    // Graph Functions
 | 
						|
    $splice(GraphFunctions)
 | 
						|
 | 
						|
    $splice(CustomInterpolatorPreVertex)
 | 
						|
 | 
						|
    // Graph Vertex
 | 
						|
    $splice(GraphVertex)
 | 
						|
 | 
						|
    $splice(CustomInterpolatorPreSurface)
 | 
						|
 | 
						|
    // Graph Pixel
 | 
						|
    $splice(GraphPixel)
 | 
						|
 | 
						|
    // --------------------------------------------------
 | 
						|
    // Build Graph Inputs
 | 
						|
 | 
						|
    $features.graphVertex:  $include("BuildVertexDescriptionInputs.template.hlsl")
 | 
						|
    $features.graphPixel:   $include("BuildSurfaceDescriptionInputs.template.hlsl")
 | 
						|
 | 
						|
    // --------------------------------------------------
 | 
						|
    // Main
 | 
						|
 | 
						|
    $splice(PostGraphIncludes)
 | 
						|
 | 
						|
    ENDHLSL
 | 
						|
}
 |