#ifndef __GLOBALS_INC #define __GLOBALS_INC #include "features.cginc" SamplerState point_repeat_s; SamplerState linear_repeat_s; SamplerState aniso4_trilinear_repeat_s; SamplerState aniso8_trilinear_repeat_s; SamplerState aniso16_trilinear_repeat_s; SamplerState bilinear_repeat_s; SamplerState linear_clamp_s; SamplerState bilinear_clamp_s; SamplerState trilinear_repeat_s; int _Mode; // opaque, cutout, transparent, etc. texture2D _MainTex; float4 _MainTex_ST; float4 _Color; texture2D _BumpMap; float4 _BumpMap_ST; float _BumpScale; texture2D _MetallicGlossMap; float4 _MetallicGlossMap_ST; float _Glossiness; float _Metallic; texture2D _DFG_LUT; float _Specular_AA_Variance; float _Specular_AA_Threshold; float _BRDF_Specular_Min_Denom; #if defined(_MARBLE) texture2D _Marble_U_Ramp; texture2D _Marble_V_Ramp; texture2D _Marble_W_Ramp; float3 _Marble_Scale; float _Marble_Octaves; float _Marble_Strength; #endif // _MARBLE #if defined(_TESSELLATION) float _Tessellation_Factor; float _Tessellation_Frustum_Culling_Bias; float _Tessellation_Falloff_Factor; #endif // _TESSELLATION #if defined(_CLEARCOAT) float _Clearcoat_Strength; float _Clearcoat_Roughness; #endif // _CLEARCOAT #if defined(_CLEARCOAT_MASK) texture2D _Clearcoat_Mask; float4 _Clearcoat_Mask_ST; float _Clearcoat_Mask_Strength; #endif // _CLEARCOAT_MASK #if defined(_DETAILS) texture2D _DetailNormalMap; float4 _DetailNormalMap_ST; float _DetailNormalMapScale; texture2D _DetailMask; float4 _DetailMask_ST; int _Details_UV_Channel; #endif // _DETAILS #if defined(_CLOTH_SHEEN) float _Cloth_Sheen_Strength; float3 _Cloth_Sheen_Color; texture2D _Cloth_Sheen_DFG_LUT; #endif // _CLOTH_SHEEN #if defined(_UV_SCROLL) float2 _UV_Scroll_Speed; #endif // _UV_SCROLL #if defined(_CENTER_OFFSET) texture2D _Center_Offset_Heightmap; float4 _Center_Offset_Heightmap_ST; float _Center_Offset_Factor; #endif // _CENTER_OFFSET #if defined(_LOGICAL_TIME) float _Logical_Time; #endif // _LOGICAL_TIME float getTime() { #if defined(_LOGICAL_TIME) return _Logical_Time; #else return _Time[0]; #endif // _LOGICAL_TIME } #if defined(_RAY_MARCHING) float _Ray_Marching_Max_Dist; float _Ray_Marching_Min_Dist; float _Ray_Marching_Max_Iter; #endif // _RAY_MARCHING #if defined(_RAY_MARCHING_OVERSTEP) float _Ray_Marching_Overstepping_Factor; #endif // _RAY_MARCHING_OVERSTEP #if defined(_RAY_MARCHING_BAKED_ORIGINS) int _Baked_Origins_UV_Channel_Index; #endif // _RAY_MARCHING_BAKED_ORIGINS #if defined(_RAY_MARCHING_CART_INSTANCING) float _Ray_Marching_Cart_Instancing_Count_X; float _Ray_Marching_Cart_Instancing_Count_Y; float _Ray_Marching_Cart_Instancing_Count_Z; float _Ray_Marching_Cart_Instancing_Span_X; float _Ray_Marching_Cart_Instancing_Span_Y; float _Ray_Marching_Cart_Instancing_Span_Z; #endif // _RAY_MARCHING_CART_INSTANCING #if defined(_RAY_MARCHING_CART_INSTANCING_OFFSETS) float _Ray_Marching_Cart_Instancing_Offsets_X_Every_Y; float _Ray_Marching_Cart_Instancing_Offsets_X_Every_Z; float _Ray_Marching_Cart_Instancing_Offsets_Y_Every_X; float _Ray_Marching_Cart_Instancing_Offsets_Y_Every_Z; float _Ray_Marching_Cart_Instancing_Offsets_Z_Every_X; float _Ray_Marching_Cart_Instancing_Offsets_Z_Every_Y; #endif // _RAY_MARCHING_CART_INSTANCING_OFFSETS #if defined(_RAY_MARCHING_CART_GRID) float _Ray_Marching_Cart_Grid_Radius; float _Ray_Marching_Cart_Grid_Count_X; float _Ray_Marching_Cart_Grid_Count_Y; float _Ray_Marching_Cart_Grid_Count_Z; float _Ray_Marching_Cart_Grid_Span_X; float _Ray_Marching_Cart_Grid_Span_Y; float _Ray_Marching_Cart_Grid_Span_Z; #endif // _RAY_MARCHING_CART_GRID #if defined(_RAY_MARCHING_HEX_GRID) float _Ray_Marching_Hex_Grid_Radius; float _Ray_Marching_Hex_Grid_Count; #endif // _RAY_MARCHING_HEX_GRID #if defined(_RAY_MARCHING_SCALING) float _Ray_Marching_Scaling_Factor_X; float _Ray_Marching_Scaling_Factor_Y; float _Ray_Marching_Scaling_Factor_Z; #endif // _RAY_MARCHING_SCALING #if defined(_RAY_MARCHING_BALL_GRID) float _Ray_Marching_Ball_Grid_Radius; float _Ray_Marching_Ball_Grid_Count_X; float _Ray_Marching_Ball_Grid_Count_Y; float _Ray_Marching_Ball_Grid_Count_Z; #endif // _RAY_MARCHING_BALL_GRID #if defined(_RAY_MARCHING_BALL) float _Ray_Marching_Ball_Radius; #endif // _RAY_MARCHING_BALL #if defined(_RAY_MARCHING_HEXAGON) float _Ray_Marching_Hexagon_Radius; float _Ray_Marching_Hexagon_Height; #endif // _RAY_MARCHING_HEXAGON #if defined(_INSTANCE_DISTANCE_CULLING) float _Instance_Distance_Culling_Distance; #endif // _INSTANCE_DISTANCE_CULLING #if defined(_PARALLAX_HEIGHTMAP) texture2D _Parallax_Heightmap; float4 _Parallax_Heightmap_ST; float _Parallax_Heightmap_Scale; float _Parallax_Heightmap_Bias; #endif // _PARALLAX_HEIGHTMAP #if defined(_PARALLAX_HEIGHTMAP_RAY_MARCHING) float _Parallax_Heightmap_Ray_Marching_Steps; #endif // _PARALLAX_HEIGHTMAP_RAY_MARCHING #if defined(_VERTEX_DEFORMATION) float _Vertex_Deformation_Slot_0_Enabled; int _Vertex_Deformation_Slot_0_Opcode; float _Vertex_Deformation_Slot_0_Float_0; float _Vertex_Deformation_Slot_0_Float_1; float _Vertex_Deformation_Slot_0_Float_2; float _Vertex_Deformation_Slot_0_Float_3; float4 _Vertex_Deformation_Slot_0_Vector_0; float4 _Vertex_Deformation_Slot_0_Vector_1; float4 _Vertex_Deformation_Slot_0_Vector_2; float4 _Vertex_Deformation_Slot_0_Vector_3; float _Vertex_Deformation_Slot_1_Enabled; int _Vertex_Deformation_Slot_1_Opcode; float _Vertex_Deformation_Slot_1_Float_0; float _Vertex_Deformation_Slot_1_Float_1; float _Vertex_Deformation_Slot_1_Float_2; float _Vertex_Deformation_Slot_1_Float_3; float4 _Vertex_Deformation_Slot_1_Vector_0; float4 _Vertex_Deformation_Slot_1_Vector_1; float4 _Vertex_Deformation_Slot_1_Vector_2; float4 _Vertex_Deformation_Slot_1_Vector_3; float _Vertex_Deformation_Slot_2_Enabled; int _Vertex_Deformation_Slot_2_Opcode; float _Vertex_Deformation_Slot_2_Float_0; float _Vertex_Deformation_Slot_2_Float_1; float _Vertex_Deformation_Slot_2_Float_2; float _Vertex_Deformation_Slot_2_Float_3; float4 _Vertex_Deformation_Slot_2_Vector_0; float4 _Vertex_Deformation_Slot_2_Vector_1; float4 _Vertex_Deformation_Slot_2_Vector_2; float4 _Vertex_Deformation_Slot_2_Vector_3; float _Vertex_Deformation_Slot_3_Enabled; int _Vertex_Deformation_Slot_3_Opcode; float _Vertex_Deformation_Slot_3_Float_0; float _Vertex_Deformation_Slot_3_Float_1; float _Vertex_Deformation_Slot_3_Float_2; float _Vertex_Deformation_Slot_3_Float_3; float4 _Vertex_Deformation_Slot_3_Vector_0; float4 _Vertex_Deformation_Slot_3_Vector_1; float4 _Vertex_Deformation_Slot_3_Vector_2; float4 _Vertex_Deformation_Slot_3_Vector_3; float _Vertex_Deformation_Slot_4_Enabled; int _Vertex_Deformation_Slot_4_Opcode; float _Vertex_Deformation_Slot_4_Float_0; float _Vertex_Deformation_Slot_4_Float_1; float _Vertex_Deformation_Slot_4_Float_2; float _Vertex_Deformation_Slot_4_Float_3; float4 _Vertex_Deformation_Slot_4_Vector_0; float4 _Vertex_Deformation_Slot_4_Vector_1; float4 _Vertex_Deformation_Slot_4_Vector_2; float4 _Vertex_Deformation_Slot_4_Vector_3; float _Vertex_Deformation_Slot_5_Enabled; int _Vertex_Deformation_Slot_5_Opcode; float _Vertex_Deformation_Slot_5_Float_0; float _Vertex_Deformation_Slot_5_Float_1; float _Vertex_Deformation_Slot_5_Float_2; float _Vertex_Deformation_Slot_5_Float_3; float4 _Vertex_Deformation_Slot_5_Vector_0; float4 _Vertex_Deformation_Slot_5_Vector_1; float4 _Vertex_Deformation_Slot_5_Vector_2; float4 _Vertex_Deformation_Slot_5_Vector_3; float _Vertex_Deformation_Slot_6_Enabled; int _Vertex_Deformation_Slot_6_Opcode; float _Vertex_Deformation_Slot_6_Float_0; float _Vertex_Deformation_Slot_6_Float_1; float _Vertex_Deformation_Slot_6_Float_2; float _Vertex_Deformation_Slot_6_Float_3; float4 _Vertex_Deformation_Slot_6_Vector_0; float4 _Vertex_Deformation_Slot_6_Vector_1; float4 _Vertex_Deformation_Slot_6_Vector_2; float4 _Vertex_Deformation_Slot_6_Vector_3; float _Vertex_Deformation_Slot_7_Enabled; int _Vertex_Deformation_Slot_7_Opcode; float _Vertex_Deformation_Slot_7_Float_0; float _Vertex_Deformation_Slot_7_Float_1; float _Vertex_Deformation_Slot_7_Float_2; float _Vertex_Deformation_Slot_7_Float_3; float4 _Vertex_Deformation_Slot_7_Vector_0; float4 _Vertex_Deformation_Slot_7_Vector_1; float4 _Vertex_Deformation_Slot_7_Vector_2; float4 _Vertex_Deformation_Slot_7_Vector_3; float _Vertex_Deformation_Slot_8_Enabled; int _Vertex_Deformation_Slot_8_Opcode; float _Vertex_Deformation_Slot_8_Float_0; float _Vertex_Deformation_Slot_8_Float_1; float _Vertex_Deformation_Slot_8_Float_2; float _Vertex_Deformation_Slot_8_Float_3; float4 _Vertex_Deformation_Slot_8_Vector_0; float4 _Vertex_Deformation_Slot_8_Vector_1; float4 _Vertex_Deformation_Slot_8_Vector_2; float4 _Vertex_Deformation_Slot_8_Vector_3; float _Vertex_Deformation_Slot_9_Enabled; int _Vertex_Deformation_Slot_9_Opcode; float _Vertex_Deformation_Slot_9_Float_0; float _Vertex_Deformation_Slot_9_Float_1; float _Vertex_Deformation_Slot_9_Float_2; float _Vertex_Deformation_Slot_9_Float_3; float4 _Vertex_Deformation_Slot_9_Vector_0; float4 _Vertex_Deformation_Slot_9_Vector_1; float4 _Vertex_Deformation_Slot_9_Vector_2; float4 _Vertex_Deformation_Slot_9_Vector_3; float _Vertex_Deformation_Slot_10_Enabled; int _Vertex_Deformation_Slot_10_Opcode; float _Vertex_Deformation_Slot_10_Float_0; float _Vertex_Deformation_Slot_10_Float_1; float _Vertex_Deformation_Slot_10_Float_2; float _Vertex_Deformation_Slot_10_Float_3; float4 _Vertex_Deformation_Slot_10_Vector_0; float4 _Vertex_Deformation_Slot_10_Vector_1; float4 _Vertex_Deformation_Slot_10_Vector_2; float4 _Vertex_Deformation_Slot_10_Vector_3; float _Vertex_Deformation_Slot_11_Enabled; int _Vertex_Deformation_Slot_11_Opcode; float _Vertex_Deformation_Slot_11_Float_0; float _Vertex_Deformation_Slot_11_Float_1; float _Vertex_Deformation_Slot_11_Float_2; float _Vertex_Deformation_Slot_11_Float_3; float4 _Vertex_Deformation_Slot_11_Vector_0; float4 _Vertex_Deformation_Slot_11_Vector_1; float4 _Vertex_Deformation_Slot_11_Vector_2; float4 _Vertex_Deformation_Slot_11_Vector_3; float _Vertex_Deformation_Slot_12_Enabled; int _Vertex_Deformation_Slot_12_Opcode; float _Vertex_Deformation_Slot_12_Float_0; float _Vertex_Deformation_Slot_12_Float_1; float _Vertex_Deformation_Slot_12_Float_2; float _Vertex_Deformation_Slot_12_Float_3; float4 _Vertex_Deformation_Slot_12_Vector_0; float4 _Vertex_Deformation_Slot_12_Vector_1; float4 _Vertex_Deformation_Slot_12_Vector_2; float4 _Vertex_Deformation_Slot_12_Vector_3; float _Vertex_Deformation_Slot_13_Enabled; int _Vertex_Deformation_Slot_13_Opcode; float _Vertex_Deformation_Slot_13_Float_0; float _Vertex_Deformation_Slot_13_Float_1; float _Vertex_Deformation_Slot_13_Float_2; float _Vertex_Deformation_Slot_13_Float_3; float4 _Vertex_Deformation_Slot_13_Vector_0; float4 _Vertex_Deformation_Slot_13_Vector_1; float4 _Vertex_Deformation_Slot_13_Vector_2; float4 _Vertex_Deformation_Slot_13_Vector_3; float _Vertex_Deformation_Slot_14_Enabled; int _Vertex_Deformation_Slot_14_Opcode; float _Vertex_Deformation_Slot_14_Float_0; float _Vertex_Deformation_Slot_14_Float_1; float _Vertex_Deformation_Slot_14_Float_2; float _Vertex_Deformation_Slot_14_Float_3; float4 _Vertex_Deformation_Slot_14_Vector_0; float4 _Vertex_Deformation_Slot_14_Vector_1; float4 _Vertex_Deformation_Slot_14_Vector_2; float4 _Vertex_Deformation_Slot_14_Vector_3; float _Vertex_Deformation_Slot_15_Enabled; int _Vertex_Deformation_Slot_15_Opcode; float _Vertex_Deformation_Slot_15_Float_0; float _Vertex_Deformation_Slot_15_Float_1; float _Vertex_Deformation_Slot_15_Float_2; float _Vertex_Deformation_Slot_15_Float_3; float4 _Vertex_Deformation_Slot_15_Vector_0; float4 _Vertex_Deformation_Slot_15_Vector_1; float4 _Vertex_Deformation_Slot_15_Vector_2; float4 _Vertex_Deformation_Slot_15_Vector_3; #endif // _VERTEX_DEFORMATION #endif // __GLOBALS_INC