#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(_VERTEX_DEFORMATION_XY_TUBE) float _Vertex_Deformation_XY_Tube_t; #endif // _VERTEX_DEFORMATION_XY_TUBE #if defined(_VERTEX_DEFORMATION_XZ_TUBE) float _Vertex_Deformation_XZ_Tube_t; #endif // _VERTEX_DEFORMATION_XZ_TUBE #if defined(_VERTEX_DEFORMATION_YZ_TUBE) float _Vertex_Deformation_YZ_Tube_t; #endif // _VERTEX_DEFORMATION_YZ_TUBE #if defined(_VERTEX_DEFORMATION_NORM_CONVERSION) float _Vertex_Deformation_Norm_Conversion_Input_k; float _Vertex_Deformation_Norm_Conversion_Output_k; float _Vertex_Deformation_Norm_Conversion_t; #endif // _VERTEX_DEFORMATION_NORM_CONVERSION #if defined(_VERTEX_DEFORMATION_SEAL) float _Vertex_Deformation_Seal_A; float _Vertex_Deformation_Seal_k; float _Vertex_Deformation_Seal_t; #endif // _VERTEX_DEFORMATION_SEAL #if defined(_VERTEX_DEFORMATION_SINE_WAVES) float3 _Vertex_Deformation_Sine_Waves_Amplitude; float3 _Vertex_Deformation_Sine_Waves_Direction; float3 _Vertex_Deformation_Sine_Waves_k; float3 _Vertex_Deformation_Sine_Waves_omega; #endif // _VERTEX_DEFORMATION_SINE_WAVES #if defined(_VERTEX_DEFORMATION_FBM) float3 _Vertex_Deformation_FBM_Velocity; float _Vertex_Deformation_FBM_Amplitude; float _Vertex_Deformation_FBM_Gain; float _Vertex_Deformation_FBM_Lacunarity; float _Vertex_Deformation_FBM_Scale; float _Vertex_Deformation_FBM_Octaves; #endif // _VERTEX_DEFORMATION_FBM #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 #endif // __GLOBALS_INC