Nikofon

CustomFunctionForDoomShader

Feb 22nd, 2021 (edited)
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.17 KB | None | 0 0
  1. #ifdef UNIVERSAL_LIGHTING_INCLUDED
  2. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  3. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  4. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
  5. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
  6. #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/ShaderVariablesFunctions.hlsl"
  7.  
  8. void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out)
  9. {
  10. float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233)))*43758.5453);
  11. Out = lerp(Min, Max, randomno);
  12. }
  13.  
  14. void Unity_Add_float(float A, float B, out float Out)
  15. {
  16. Out = A + B;
  17. }
  18.  
  19. void Unity_Clamp_float(float In, float Min, float Max, out float Out)
  20. {
  21. Out = clamp(In, Min, Max);
  22. }
  23.  
  24. void Unity_Multiply_float(float A, float B, out float Out)
  25. {
  26. Out = A * B;
  27. }
  28.  
  29. void Unity_Subtract_float(float A, float B, out float Out)
  30. {
  31. Out = A - B;
  32. }
  33.  
  34. void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
  35. {
  36. RGBA = float4(R, G, B, A);
  37. RGB = float3(R, G, B);
  38. RG = float2(R, G);
  39. }
  40.  
  41. void Unity_Comparison_LessOrEqual_float(float A, float B, out float Out)
  42. {
  43. Out = A <= B ? 1 : 0;
  44. }
  45.  
  46. void Unity_Branch_float(float Predicate, float True, float False, out float Out)
  47. {
  48. Out = Predicate ? True : False;
  49. }
  50.  
  51. void Unity_Comparison_Greater_float(float A, float B, out float Out)
  52. {
  53. Out = A > B ? 1 : 0;
  54. }
  55.  
  56. void Unity_And_float(float A, float B, out float Out)
  57. {
  58. Out = A && B;
  59. }
  60.  
  61. void Unity_Multiply_float(float4 A, float4 B, out float4 Out)
  62. {
  63. Out = A * B;
  64. }
  65.  
  66. void Unity_ColorMask_float(float3 In, float3 MaskColor, float Range, out float Out, float Fuzziness)
  67. {
  68. float Distance = distance(MaskColor, In);
  69. Out = saturate(1 - (Distance - Range) / max(Fuzziness, 1e-5));
  70. }
  71.  
  72. void Unity_InvertColors_float(float In, float InvertColors, out float Out)
  73. {
  74. Out = abs(InvertColors - In);
  75. }
  76.  
  77. void TextureOffset_float(float animTime, Texture2D myTexture, float iterations, float4 uv, float seed, out float3 Out, out float alpha){
  78. float4 res;
  79. float tempAlpha;
  80. float4 _UV_36AAEB0E_Out_0 = uv;
  81. for(int i = 0; i < iterations; i++){
  82. float _Split_F31CE1F8_R_1 = _UV_36AAEB0E_Out_0[0];
  83. float _Split_F31CE1F8_G_2 = _UV_36AAEB0E_Out_0[1];
  84. float _Split_F31CE1F8_B_3 = _UV_36AAEB0E_Out_0[2];
  85. float _Split_F31CE1F8_A_4 = _UV_36AAEB0E_Out_0[3];
  86. float _Property_8BDE0B03_Out_0 = animTime;
  87. float _RandomRange_9C2534E5_Out_3;
  88. Unity_RandomRange_float(float2 (seed + i, seed - i), -0.5, 0, _RandomRange_9C2534E5_Out_3);
  89. float _Add_4C057E68_Out_2;
  90. Unity_Add_float(_Property_8BDE0B03_Out_0, _RandomRange_9C2534E5_Out_3, _Add_4C057E68_Out_2);
  91. float _Clamp_51CFA3CE_Out_3;
  92. Unity_Clamp_float(_Add_4C057E68_Out_2, 0, 1, _Clamp_51CFA3CE_Out_3);
  93. float _Multiply_D329C5C6_Out_2;
  94. Unity_Multiply_float(-1, _Clamp_51CFA3CE_Out_3, _Multiply_D329C5C6_Out_2);
  95. float _Subtract_C33C12A3_Out_2;
  96. Unity_Subtract_float(_Split_F31CE1F8_G_2, _Multiply_D329C5C6_Out_2, _Subtract_C33C12A3_Out_2);
  97. float4 _Combine_DEB4E04B_RGBA_4;
  98. float3 _Combine_DEB4E04B_RGB_5;
  99. float2 _Combine_DEB4E04B_RG_6;
  100. Unity_Combine_float(_Split_F31CE1F8_R_1, _Subtract_C33C12A3_Out_2, _Split_F31CE1F8_B_3, _Split_F31CE1F8_A_4, _Combine_DEB4E04B_RGBA_4, _Combine_DEB4E04B_RGB_5, _Combine_DEB4E04B_RG_6);
  101. float4 _SampleTexture2D_26349C44_RGBA_0 = SAMPLE_TEXTURE2D(myTexture, samplermyTexture, (_Combine_DEB4E04B_RGBA_4.xy));
  102. float _SampleTexture2D_26349C44_R_4 = _SampleTexture2D_26349C44_RGBA_0.r;
  103. float _SampleTexture2D_26349C44_G_5 = _SampleTexture2D_26349C44_RGBA_0.g;
  104. float _SampleTexture2D_26349C44_B_6 = _SampleTexture2D_26349C44_RGBA_0.b;
  105. float _SampleTexture2D_26349C44_A_7 = _SampleTexture2D_26349C44_RGBA_0.a;
  106. float _Split_AA89141C_R_1 = _UV_36AAEB0E_Out_0[0];
  107. float _Split_AA89141C_G_2 = _UV_36AAEB0E_Out_0[1];
  108. float _Split_AA89141C_B_3 = _UV_36AAEB0E_Out_0[2];
  109. float _Split_AA89141C_A_4 = _UV_36AAEB0E_Out_0[3];
  110. float _Subtract_186A47BE_Out_2;
  111. Unity_Subtract_float(1, _Clamp_51CFA3CE_Out_3, _Subtract_186A47BE_Out_2);
  112. float _Comparison_954A7788_Out_2;
  113. Unity_Comparison_LessOrEqual_float(_Split_AA89141C_G_2, _Subtract_186A47BE_Out_2, _Comparison_954A7788_Out_2);
  114. float _Branch_DB94612B_Out_3;
  115. Unity_Branch_float(_Comparison_954A7788_Out_2, 1, 0, _Branch_DB94612B_Out_3);
  116. float _Comparison_EFAD7B4D_Out_2;
  117. float compareTo = 1f/iterations;
  118. Unity_Comparison_Greater_float(_Split_AA89141C_R_1, compareTo * i, _Comparison_EFAD7B4D_Out_2);
  119. float _Comparison_C6DDD848_Out_2;
  120. Unity_Comparison_LessOrEqual_float(_Split_AA89141C_R_1, compareTo * (i + 1), _Comparison_C6DDD848_Out_2);
  121. float _And_420C90C9_Out_2;
  122. Unity_And_float(_Comparison_EFAD7B4D_Out_2, _Comparison_C6DDD848_Out_2, _And_420C90C9_Out_2);
  123. float _Branch_786C9D10_Out_3;
  124. Unity_Branch_float(_And_420C90C9_Out_2, 1, 0, _Branch_786C9D10_Out_3);
  125. float _Multiply_D9C1EE96_Out_2;
  126. Unity_Multiply_float(_Branch_DB94612B_Out_3, _Branch_786C9D10_Out_3, _Multiply_D9C1EE96_Out_2);
  127. float4 _Multiply_CE3A536C_Out_2;
  128. Unity_Multiply_float(_SampleTexture2D_26349C44_RGBA_0, (_Multiply_D9C1EE96_Out_2.xxxx), _Multiply_CE3A536C_Out_2);
  129. float _ColorMask_83C394AB_Out_3;
  130. Unity_ColorMask_float((_Multiply_CE3A536C_Out_2.xyz), IsGammaSpace() ? float3(0, 0, 0) : SRGBToLinear(float3(0, 0, 0)), 0, _ColorMask_83C394AB_Out_3, 0);
  131. float _InvertColors_F42650BD_Out_1;
  132. float _InvertColors_F42650BD_InvertColors = float (1);
  133. Unity_InvertColors_float(_ColorMask_83C394AB_Out_3, _InvertColors_F42650BD_InvertColors, _InvertColors_F42650BD_Out_1);
  134. tempAlpha += _InvertColors_F42650BD_Out_1;
  135. res += (_Multiply_CE3A536C_Out_2.xyz);
  136. }
  137. alpha = tempAlpha
  138. Out = res;
  139. }
  140. #endif
Add Comment
Please, Sign In to add comment