Guest User

Untitled

a guest
Nov 15th, 2025
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 72.56 KB | None | 0 0
  1.  
  2.  
  3. -------------
  4. Separator
  5. -------------
  6.  
  7. 2025-11-15 07:39:43: WARNING[Main]: Irrlicht: SDL_PollEvent took too long: 55ms
  8. 2025-11-15 07:39:43: WARNING[Main]: Irrlicht: SDL_PollEvent took too long: 324ms
  9. 2025-11-15 07:39:45: WARNING[ServerStart]: Undeclared global variable "screwdriver" accessed at ...ation Support/minetest/mods/church/church_cross/init.lua:1
  10. 2025-11-15 07:39:45: WARNING[ServerStart]: Field "alpha" on node church_candles:busybees is obsolete, only limited compatibility provided; replaced by "use_texture_alpha". (at /Users/sfence/Library/Application Support/minetest/mods/church/church_candles/hive.lua:231)
  11. 2025-11-15 07:39:45: WARNING[ServerStart]: Field "use_texture_alpha" on node church_candles:honey_jar: Boolean values are deprecated; use the new choices instead. (at /Users/sfence/Library/Application Support/minetest/mods/church/church_candles/hive.lua:275)
  12. 2025-11-15 07:39:45: ACTION[ServerStart]: World at [/Users/sfence/Library/Application Support/minetest/worlds/church]
  13. 2025-11-15 07:39:45: ACTION[ServerStart]: Server for gameid="minetest" listening on 127.0.0.1:57782.
  14. 2025-11-15 07:39:46: ERROR[Main]: Irrlicht: GLSL shader failed to compile
  15. 2025-11-15 07:39:46: ERROR[Main]: Irrlicht: ERROR: 0:313: '-' : wrong operand types - no operation '-' exists that takes a left-hand operand of type 'const float' and a right operand of type 'mediump int' (or there is no acceptable conversion)
  16. ERROR: 0:321: '/' : wrong operand types - no operation '/' exists that takes a left-hand operand of type 'mediump 4-component vector of float' and a right operand of type 'mediump int' (or there is no acceptable conversion)
  17. ERROR: 0:507: '!=' : wrong operand types - no operation '!=' exists that takes a left-hand operand of type 'in mediump float' and a right operand of type 'const int' (or there is no acceptable conversion)
  18. ERROR: 0:508: '-' : wrong operand types - no operation '-' exists that takes a left-hand operand of type 'const int' and a right operand of type 'mediump float' (or there is no acceptable conversion)
  19. ERROR: 0:508: 'max' : no matching overloaded function found
  20.  
  21. 2025-11-15 07:39:46: ERROR[Main]: generateShader(): failed to generate shaders for nodes_shader MATERIAL_TYPE=6 USE_ARRAY_TEXTURE=1, addHighLevelShaderMaterial failed.
  22. 2025-11-15 07:39:46: WARNING[Main]: vertex shader program:
  23. 2025-11-15 07:39:46: WARNING[Main]: ----------------------------------
  24. 2025-11-15 07:39:46: WARNING[Main]: 1: #version 300 es
  25. 2025-11-15 07:39:46: WARNING[Main]: 2: #define CENTROID_ centroid
  26. 2025-11-15 07:39:46: WARNING[Main]: 3: #define ATTRIBUTE_(n) layout(location = n) in
  27. 2025-11-15 07:39:46: WARNING[Main]: 4: #define texture2D texture
  28. 2025-11-15 07:39:46: WARNING[Main]: 5: #define COLORED_SHADOWS 1
  29. 2025-11-15 07:39:46: WARNING[Main]: 6: #define ENABLE_DITHERING 1
  30. 2025-11-15 07:39:46: WARNING[Main]: 7: #define ENABLE_DYNAMIC_SHADOWS 1
  31. 2025-11-15 07:39:46: WARNING[Main]: 8: #define ENABLE_TONE_MAPPING 0
  32. 2025-11-15 07:39:46: WARNING[Main]: 9: #define ENABLE_WAVING_LEAVES 0
  33. 2025-11-15 07:39:46: WARNING[Main]: 10: #define ENABLE_WAVING_PLANTS 0
  34. 2025-11-15 07:39:46: WARNING[Main]: 11: #define ENABLE_WAVING_WATER 0
  35. 2025-11-15 07:39:46: WARNING[Main]: 12: #define MATERIAL_TYPE 6
  36. 2025-11-15 07:39:46: WARNING[Main]: 13: #define MATERIAL_WATER_REFLECTIONS 0
  37. 2025-11-15 07:39:46: WARNING[Main]: 14: #define MATERIAL_WAVING_LIQUID 0
  38. 2025-11-15 07:39:46: WARNING[Main]: 15: #define POISSON_FILTER 1
  39. 2025-11-15 07:39:46: WARNING[Main]: 16: #define SHADOW_FILTER 2
  40. 2025-11-15 07:39:46: WARNING[Main]: 17: #define SOFTSHADOWRADIUS 5.00000
  41. 2025-11-15 07:39:46: WARNING[Main]: 18: #define TILE_MATERIAL_ALPHA 1
  42. 2025-11-15 07:39:46: WARNING[Main]: 19: #define TILE_MATERIAL_BASIC 0
  43. 2025-11-15 07:39:46: WARNING[Main]: 20: #define TILE_MATERIAL_LIQUID_OPAQUE 3
  44. 2025-11-15 07:39:46: WARNING[Main]: 21: #define TILE_MATERIAL_LIQUID_TRANSPARENT 2
  45. 2025-11-15 07:39:46: WARNING[Main]: 22: #define TILE_MATERIAL_OPAQUE 6
  46. 2025-11-15 07:39:46: WARNING[Main]: 23: #define TILE_MATERIAL_PLAIN 10
  47. 2025-11-15 07:39:46: WARNING[Main]: 24: #define TILE_MATERIAL_PLAIN_ALPHA 11
  48. 2025-11-15 07:39:46: WARNING[Main]: 25: #define TILE_MATERIAL_WAVING_LEAVES 4
  49. 2025-11-15 07:39:46: WARNING[Main]: 26: #define TILE_MATERIAL_WAVING_LIQUID_BASIC 7
  50. 2025-11-15 07:39:46: WARNING[Main]: 27: #define TILE_MATERIAL_WAVING_LIQUID_OPAQUE 9
  51. 2025-11-15 07:39:46: WARNING[Main]: 28: #define TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT 8
  52. 2025-11-15 07:39:46: WARNING[Main]: 29: #define TILE_MATERIAL_WAVING_PLANTS 5
  53. 2025-11-15 07:39:46: WARNING[Main]: 30: #define USE_ARRAY_TEXTURE 1
  54. 2025-11-15 07:39:46: WARNING[Main]: 31:
  55. 2025-11-15 07:39:46: WARNING[Main]: 32: precision mediump float;
  56. 2025-11-15 07:39:46: WARNING[Main]: 33:
  57. 2025-11-15 07:39:46: WARNING[Main]: 34: uniform highp mat4 mWorldView;
  58. 2025-11-15 07:39:46: WARNING[Main]: 35: uniform highp mat4 mWorldViewProj;
  59. 2025-11-15 07:39:46: WARNING[Main]: 36: uniform mediump mat4 mTexture;
  60. 2025-11-15 07:39:46: WARNING[Main]: 37:
  61. 2025-11-15 07:39:46: WARNING[Main]: 38: ATTRIBUTE_(0) highp vec4 inVertexPosition;
  62. 2025-11-15 07:39:46: WARNING[Main]: 39: ATTRIBUTE_(1) mediump vec3 inVertexNormal;
  63. 2025-11-15 07:39:46: WARNING[Main]: 40: ATTRIBUTE_(2) lowp vec4 inVertexColor;
  64. 2025-11-15 07:39:46: WARNING[Main]: 41: ATTRIBUTE_(3) mediump float inVertexAux;
  65. 2025-11-15 07:39:46: WARNING[Main]: 42: ATTRIBUTE_(4) mediump vec2 inTexCoord0;
  66. 2025-11-15 07:39:46: WARNING[Main]: 43: ATTRIBUTE_(5) mediump vec2 inTexCoord1;
  67. 2025-11-15 07:39:46: WARNING[Main]: 44: ATTRIBUTE_(6) mediump vec4 inVertexTangent;
  68. 2025-11-15 07:39:46: WARNING[Main]: 45: ATTRIBUTE_(7) mediump vec4 inVertexBinormal;
  69. 2025-11-15 07:39:46: WARNING[Main]: 46: #define VARYING_ out
  70. 2025-11-15 07:39:46: WARNING[Main]: 47: #define inVertexColor (inVertexColor.bgra)
  71. 2025-11-15 07:39:46: WARNING[Main]: 0: #line 0
  72. 2025-11-15 07:39:46: WARNING[Main]: 1: uniform mat4 mWorld;
  73. 2025-11-15 07:39:46: WARNING[Main]: 2: // Color of the light emitted by the sun.
  74. 2025-11-15 07:39:46: WARNING[Main]: 3: uniform vec3 dayLight;
  75. 2025-11-15 07:39:46: WARNING[Main]: 4:
  76. 2025-11-15 07:39:46: WARNING[Main]: 5: // The cameraOffset is the current center of the visible world.
  77. 2025-11-15 07:39:46: WARNING[Main]: 6: uniform highp vec3 cameraOffset;
  78. 2025-11-15 07:39:46: WARNING[Main]: 7: uniform float animationTimer;
  79. 2025-11-15 07:39:46: WARNING[Main]: 8:
  80. 2025-11-15 07:39:46: WARNING[Main]: 9: VARYING_ vec3 vNormal;
  81. 2025-11-15 07:39:46: WARNING[Main]: 10: VARYING_ vec3 vPosition;
  82. 2025-11-15 07:39:46: WARNING[Main]: 11: // World position in the visible world (i.e. relative to the cameraOffset.)
  83. 2025-11-15 07:39:46: WARNING[Main]: 12: // This can be used for many shader effects without loss of precision.
  84. 2025-11-15 07:39:46: WARNING[Main]: 13: // If the absolute position is required it can be calculated with
  85. 2025-11-15 07:39:46: WARNING[Main]: 14: // cameraOffset + worldPosition (for large coordinates the limits of float
  86. 2025-11-15 07:39:46: WARNING[Main]: 15: // precision must be considered).
  87. 2025-11-15 07:39:46: WARNING[Main]: 16: VARYING_ vec3 worldPosition;
  88. 2025-11-15 07:39:46: WARNING[Main]: 17: // The centroid keyword ensures that after interpolation the texture coordinates
  89. 2025-11-15 07:39:46: WARNING[Main]: 18: // lie within the same bounds when MSAA is en- or disabled.
  90. 2025-11-15 07:39:46: WARNING[Main]: 19: // This fixes the stripes problem with nearest-neighbor textures and MSAA.
  91. 2025-11-15 07:39:46: WARNING[Main]: 20: CENTROID_ VARYING_ lowp vec4 varColor;
  92. 2025-11-15 07:39:46: WARNING[Main]: 21: CENTROID_ VARYING_ mediump vec2 varTexCoord;
  93. 2025-11-15 07:39:46: WARNING[Main]: 22: CENTROID_ VARYING_ float varTexLayer; // actually int
  94. 2025-11-15 07:39:46: WARNING[Main]: 23: CENTROID_ VARYING_ float nightRatio;
  95. 2025-11-15 07:39:46: WARNING[Main]: 24:
  96. 2025-11-15 07:39:46: WARNING[Main]: 25: #ifdef ENABLE_DYNAMIC_SHADOWS
  97. 2025-11-15 07:39:46: WARNING[Main]: 26: // shadow uniforms
  98. 2025-11-15 07:39:46: WARNING[Main]: 27: uniform vec3 v_LightDirection;
  99. 2025-11-15 07:39:46: WARNING[Main]: 28: uniform float f_textureresolution;
  100. 2025-11-15 07:39:46: WARNING[Main]: 29: uniform mat4 m_ShadowViewProj;
  101. 2025-11-15 07:39:46: WARNING[Main]: 30: uniform float f_shadowfar;
  102. 2025-11-15 07:39:46: WARNING[Main]: 31: uniform float f_shadow_strength;
  103. 2025-11-15 07:39:46: WARNING[Main]: 32: uniform float f_timeofday;
  104. 2025-11-15 07:39:46: WARNING[Main]: 33: uniform vec4 CameraPos;
  105. 2025-11-15 07:39:46: WARNING[Main]: 34:
  106. 2025-11-15 07:39:46: WARNING[Main]: 35: VARYING_ float cosLight;
  107. 2025-11-15 07:39:46: WARNING[Main]: 36: VARYING_ float normalOffsetScale;
  108. 2025-11-15 07:39:46: WARNING[Main]: 37: VARYING_ float adj_shadow_strength;
  109. 2025-11-15 07:39:46: WARNING[Main]: 38: VARYING_ float f_normal_length;
  110. 2025-11-15 07:39:46: WARNING[Main]: 39: VARYING_ vec3 shadow_position;
  111. 2025-11-15 07:39:46: WARNING[Main]: 40: VARYING_ float perspective_factor;
  112. 2025-11-15 07:39:46: WARNING[Main]: 41: #endif
  113. 2025-11-15 07:39:46: WARNING[Main]: 42:
  114. 2025-11-15 07:39:46: WARNING[Main]: 43: VARYING_ highp vec3 eyeVec;
  115. 2025-11-15 07:39:46: WARNING[Main]: 44: // Color of the light emitted by the light sources.
  116. 2025-11-15 07:39:46: WARNING[Main]: 45: const vec3 artificialLight = vec3(1.04, 1.04, 1.04);
  117. 2025-11-15 07:39:46: WARNING[Main]: 46: const float e = 2.718281828459;
  118. 2025-11-15 07:39:46: WARNING[Main]: 47: const float BS = 10.0;
  119. 2025-11-15 07:39:46: WARNING[Main]: 48: uniform float xyPerspectiveBias0;
  120. 2025-11-15 07:39:46: WARNING[Main]: 49: uniform float xyPerspectiveBias1;
  121. 2025-11-15 07:39:46: WARNING[Main]: 50: uniform float zPerspectiveBias;
  122. 2025-11-15 07:39:46: WARNING[Main]: 51:
  123. 2025-11-15 07:39:46: WARNING[Main]: 52: #ifdef ENABLE_DYNAMIC_SHADOWS
  124. 2025-11-15 07:39:46: WARNING[Main]: 53:
  125. 2025-11-15 07:39:46: WARNING[Main]: 54: vec4 getRelativePosition(in vec4 position)
  126. 2025-11-15 07:39:46: WARNING[Main]: 55: {
  127. 2025-11-15 07:39:46: WARNING[Main]: 56: vec2 l = position.xy - CameraPos.xy;
  128. 2025-11-15 07:39:46: WARNING[Main]: 57: vec2 s = l / abs(l);
  129. 2025-11-15 07:39:46: WARNING[Main]: 58: s = (1.0 - s * CameraPos.xy);
  130. 2025-11-15 07:39:46: WARNING[Main]: 59: l /= s;
  131. 2025-11-15 07:39:46: WARNING[Main]: 60: return vec4(l, s);
  132. 2025-11-15 07:39:46: WARNING[Main]: 61: }
  133. 2025-11-15 07:39:46: WARNING[Main]: 62:
  134. 2025-11-15 07:39:46: WARNING[Main]: 63: float getPerspectiveFactor(in vec4 relativePosition)
  135. 2025-11-15 07:39:46: WARNING[Main]: 64: {
  136. 2025-11-15 07:39:46: WARNING[Main]: 65: float pDistance = length(relativePosition.xy);
  137. 2025-11-15 07:39:46: WARNING[Main]: 66: float pFactor = pDistance * xyPerspectiveBias0 + xyPerspectiveBias1;
  138. 2025-11-15 07:39:46: WARNING[Main]: 67: return pFactor;
  139. 2025-11-15 07:39:46: WARNING[Main]: 68: }
  140. 2025-11-15 07:39:46: WARNING[Main]: 69:
  141. 2025-11-15 07:39:46: WARNING[Main]: 70: vec4 applyPerspectiveDistortion(in vec4 position)
  142. 2025-11-15 07:39:46: WARNING[Main]: 71: {
  143. 2025-11-15 07:39:46: WARNING[Main]: 72: vec4 l = getRelativePosition(position);
  144. 2025-11-15 07:39:46: WARNING[Main]: 73: float pFactor = getPerspectiveFactor(l);
  145. 2025-11-15 07:39:46: WARNING[Main]: 74: l.xy /= pFactor;
  146. 2025-11-15 07:39:46: WARNING[Main]: 75: position.xy = l.xy * l.zw + CameraPos.xy;
  147. 2025-11-15 07:39:46: WARNING[Main]: 76: position.z *= zPerspectiveBias;
  148. 2025-11-15 07:39:46: WARNING[Main]: 77: return position;
  149. 2025-11-15 07:39:46: WARNING[Main]: 78: }
  150. 2025-11-15 07:39:46: WARNING[Main]: 79:
  151. 2025-11-15 07:39:46: WARNING[Main]: 80: // custom smoothstep implementation because it's not defined in glsl1.2
  152. 2025-11-15 07:39:46: WARNING[Main]: 81: // https://docs.gl/sl4/smoothstep
  153. 2025-11-15 07:39:46: WARNING[Main]: 82: float mtsmoothstep(in float edge0, in float edge1, in float x)
  154. 2025-11-15 07:39:46: WARNING[Main]: 83: {
  155. 2025-11-15 07:39:46: WARNING[Main]: 84: float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
  156. 2025-11-15 07:39:46: WARNING[Main]: 85: return t * t * (3.0 - 2.0 * t);
  157. 2025-11-15 07:39:46: WARNING[Main]: 86: }
  158. 2025-11-15 07:39:46: WARNING[Main]: 87: #endif
  159. 2025-11-15 07:39:46: WARNING[Main]: 88:
  160. 2025-11-15 07:39:46: WARNING[Main]: 89:
  161. 2025-11-15 07:39:46: WARNING[Main]: 90: float smoothCurve(float x)
  162. 2025-11-15 07:39:46: WARNING[Main]: 91: {
  163. 2025-11-15 07:39:46: WARNING[Main]: 92: return x * x * (3.0 - 2.0 * x);
  164. 2025-11-15 07:39:46: WARNING[Main]: 93: }
  165. 2025-11-15 07:39:46: WARNING[Main]: 94:
  166. 2025-11-15 07:39:46: WARNING[Main]: 95:
  167. 2025-11-15 07:39:46: WARNING[Main]: 96: float triangleWave(float x)
  168. 2025-11-15 07:39:46: WARNING[Main]: 97: {
  169. 2025-11-15 07:39:46: WARNING[Main]: 98: return abs(fract(x + 0.5) * 2.0 - 1.0);
  170. 2025-11-15 07:39:46: WARNING[Main]: 99: }
  171. 2025-11-15 07:39:46: WARNING[Main]: 100:
  172. 2025-11-15 07:39:46: WARNING[Main]: 101:
  173. 2025-11-15 07:39:46: WARNING[Main]: 102: float smoothTriangleWave(float x)
  174. 2025-11-15 07:39:46: WARNING[Main]: 103: {
  175. 2025-11-15 07:39:46: WARNING[Main]: 104: return smoothCurve(triangleWave(x)) * 2.0 - 1.0;
  176. 2025-11-15 07:39:46: WARNING[Main]: 105: }
  177. 2025-11-15 07:39:46: WARNING[Main]: 106:
  178. 2025-11-15 07:39:46: WARNING[Main]: 107: #if MATERIAL_WAVING_LIQUID && ENABLE_WAVING_WATER
  179. 2025-11-15 07:39:46: WARNING[Main]: 108:
  180. 2025-11-15 07:39:46: WARNING[Main]: 109: //
  181. 2025-11-15 07:39:46: WARNING[Main]: 110: // Simple, fast noise function.
  182. 2025-11-15 07:39:46: WARNING[Main]: 111: // See: https://gist.github.com/patriciogonzalezvivo/670c22f3966e662d2f83
  183. 2025-11-15 07:39:46: WARNING[Main]: 112: //
  184. 2025-11-15 07:39:46: WARNING[Main]: 113: vec4 perm(vec4 x)
  185. 2025-11-15 07:39:46: WARNING[Main]: 114: {
  186. 2025-11-15 07:39:46: WARNING[Main]: 115: return mod(((x * 34.0) + 1.0) * x, 289.0);
  187. 2025-11-15 07:39:46: WARNING[Main]: 116: }
  188. 2025-11-15 07:39:46: WARNING[Main]: 117:
  189. 2025-11-15 07:39:46: WARNING[Main]: 118: float snoise(vec3 p)
  190. 2025-11-15 07:39:46: WARNING[Main]: 119: {
  191. 2025-11-15 07:39:46: WARNING[Main]: 120: vec3 a = floor(p);
  192. 2025-11-15 07:39:46: WARNING[Main]: 121: vec3 d = p - a;
  193. 2025-11-15 07:39:46: WARNING[Main]: 122: d = d * d * (3.0 - 2.0 * d);
  194. 2025-11-15 07:39:46: WARNING[Main]: 123:
  195. 2025-11-15 07:39:46: WARNING[Main]: 124: vec4 b = a.xxyy + vec4(0.0, 1.0, 0.0, 1.0);
  196. 2025-11-15 07:39:46: WARNING[Main]: 125: vec4 k1 = perm(b.xyxy);
  197. 2025-11-15 07:39:46: WARNING[Main]: 126: vec4 k2 = perm(k1.xyxy + b.zzww);
  198. 2025-11-15 07:39:46: WARNING[Main]: 127:
  199. 2025-11-15 07:39:46: WARNING[Main]: 128: vec4 c = k2 + a.zzzz;
  200. 2025-11-15 07:39:46: WARNING[Main]: 129: vec4 k3 = perm(c);
  201. 2025-11-15 07:39:46: WARNING[Main]: 130: vec4 k4 = perm(c + 1.0);
  202. 2025-11-15 07:39:46: WARNING[Main]: 131:
  203. 2025-11-15 07:39:46: WARNING[Main]: 132: vec4 o1 = fract(k3 * (1.0 / 41.0));
  204. 2025-11-15 07:39:46: WARNING[Main]: 133: vec4 o2 = fract(k4 * (1.0 / 41.0));
  205. 2025-11-15 07:39:46: WARNING[Main]: 134:
  206. 2025-11-15 07:39:46: WARNING[Main]: 135: vec4 o3 = o2 * d.z + o1 * (1.0 - d.z);
  207. 2025-11-15 07:39:46: WARNING[Main]: 136: vec2 o4 = o3.yw * d.x + o3.xz * (1.0 - d.x);
  208. 2025-11-15 07:39:46: WARNING[Main]: 137:
  209. 2025-11-15 07:39:46: WARNING[Main]: 138: return o4.y * d.y + o4.x * (1.0 - d.y);
  210. 2025-11-15 07:39:46: WARNING[Main]: 139: }
  211. 2025-11-15 07:39:46: WARNING[Main]: 140:
  212. 2025-11-15 07:39:46: WARNING[Main]: 141: #endif
  213. 2025-11-15 07:39:46: WARNING[Main]: 142:
  214. 2025-11-15 07:39:46: WARNING[Main]: 143:
  215. 2025-11-15 07:39:46: WARNING[Main]: 144:
  216. 2025-11-15 07:39:46: WARNING[Main]: 145:
  217. 2025-11-15 07:39:46: WARNING[Main]: 146: void main(void)
  218. 2025-11-15 07:39:46: WARNING[Main]: 147: {
  219. 2025-11-15 07:39:46: WARNING[Main]: 148: #ifdef USE_ARRAY_TEXTURE
  220. 2025-11-15 07:39:46: WARNING[Main]: 149: varTexLayer = inVertexAux;
  221. 2025-11-15 07:39:46: WARNING[Main]: 150: #endif
  222. 2025-11-15 07:39:46: WARNING[Main]: 151: varTexCoord = inTexCoord0.st;
  223. 2025-11-15 07:39:46: WARNING[Main]: 152:
  224. 2025-11-15 07:39:46: WARNING[Main]: 153: float disp_x;
  225. 2025-11-15 07:39:46: WARNING[Main]: 154: float disp_z;
  226. 2025-11-15 07:39:46: WARNING[Main]: 155: // OpenGL < 4.3 does not support continued preprocessor lines
  227. 2025-11-15 07:39:46: WARNING[Main]: 156: #if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES && ENABLE_WAVING_LEAVES) || (MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS && ENABLE_WAVING_PLANTS)
  228. 2025-11-15 07:39:46: WARNING[Main]: 157: vec4 pos2 = mWorld * inVertexPosition;
  229. 2025-11-15 07:39:46: WARNING[Main]: 158: float tOffset = (pos2.x + pos2.y) * 0.001 + pos2.z * 0.002;
  230. 2025-11-15 07:39:46: WARNING[Main]: 159: disp_x = (smoothTriangleWave(animationTimer * 23.0 + tOffset) +
  231. 2025-11-15 07:39:46: WARNING[Main]: 160: smoothTriangleWave(animationTimer * 11.0 + tOffset)) * 0.4;
  232. 2025-11-15 07:39:46: WARNING[Main]: 161: disp_z = (smoothTriangleWave(animationTimer * 31.0 + tOffset) +
  233. 2025-11-15 07:39:46: WARNING[Main]: 162: smoothTriangleWave(animationTimer * 29.0 + tOffset) +
  234. 2025-11-15 07:39:46: WARNING[Main]: 163: smoothTriangleWave(animationTimer * 13.0 + tOffset)) * 0.5;
  235. 2025-11-15 07:39:46: WARNING[Main]: 164: #endif
  236. 2025-11-15 07:39:46: WARNING[Main]: 165:
  237. 2025-11-15 07:39:46: WARNING[Main]: 166: vec4 pos = inVertexPosition;
  238. 2025-11-15 07:39:46: WARNING[Main]: 167: #if MATERIAL_WAVING_LIQUID && ENABLE_WAVING_WATER
  239. 2025-11-15 07:39:46: WARNING[Main]: 168: // Generate waves with Perlin-type noise.
  240. 2025-11-15 07:39:46: WARNING[Main]: 169: // The constants are calibrated such that they roughly
  241. 2025-11-15 07:39:46: WARNING[Main]: 170: // correspond to the old sine waves.
  242. 2025-11-15 07:39:46: WARNING[Main]: 171: vec3 wavePos = (mWorld * pos).xyz + cameraOffset;
  243. 2025-11-15 07:39:46: WARNING[Main]: 172: // The waves are slightly compressed along the z-axis to get
  244. 2025-11-15 07:39:46: WARNING[Main]: 173: // wave-fronts along the x-axis.
  245. 2025-11-15 07:39:46: WARNING[Main]: 174: wavePos.x /= WATER_WAVE_LENGTH * 3.0;
  246. 2025-11-15 07:39:46: WARNING[Main]: 175: wavePos.z /= WATER_WAVE_LENGTH * 2.0;
  247. 2025-11-15 07:39:46: WARNING[Main]: 176: wavePos.z += animationTimer * WATER_WAVE_SPEED * 10.0;
  248. 2025-11-15 07:39:46: WARNING[Main]: 177: pos.y += (snoise(wavePos) - 1.0) * WATER_WAVE_HEIGHT * 5.0;
  249. 2025-11-15 07:39:46: WARNING[Main]: 178: #elif MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES && ENABLE_WAVING_LEAVES
  250. 2025-11-15 07:39:46: WARNING[Main]: 179: pos.x += disp_x;
  251. 2025-11-15 07:39:46: WARNING[Main]: 180: pos.y += disp_z * 0.1;
  252. 2025-11-15 07:39:46: WARNING[Main]: 181: pos.z += disp_z;
  253. 2025-11-15 07:39:46: WARNING[Main]: 182: #elif MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS && ENABLE_WAVING_PLANTS
  254. 2025-11-15 07:39:46: WARNING[Main]: 183: // bottom of plant doesn't wave
  255. 2025-11-15 07:39:46: WARNING[Main]: 184: if (varTexCoord.y < 0.05) {
  256. 2025-11-15 07:39:46: WARNING[Main]: 185: pos.x += disp_x;
  257. 2025-11-15 07:39:46: WARNING[Main]: 186: pos.z += disp_z;
  258. 2025-11-15 07:39:46: WARNING[Main]: 187: }
  259. 2025-11-15 07:39:46: WARNING[Main]: 188: #endif
  260. 2025-11-15 07:39:46: WARNING[Main]: 189: worldPosition = (mWorld * pos).xyz;
  261. 2025-11-15 07:39:46: WARNING[Main]: 190: gl_Position = mWorldViewProj * pos;
  262. 2025-11-15 07:39:46: WARNING[Main]: 191:
  263. 2025-11-15 07:39:46: WARNING[Main]: 192: vPosition = gl_Position.xyz;
  264. 2025-11-15 07:39:46: WARNING[Main]: 193: eyeVec = -(mWorldView * pos).xyz;
  265. 2025-11-15 07:39:46: WARNING[Main]: 194: #ifdef SECONDSTAGE
  266. 2025-11-15 07:39:46: WARNING[Main]: 195: normalPass = normalize((inVertexNormal+1)/2);
  267. 2025-11-15 07:39:46: WARNING[Main]: 196: #endif
  268. 2025-11-15 07:39:46: WARNING[Main]: 197: vNormal = inVertexNormal;
  269. 2025-11-15 07:39:46: WARNING[Main]: 198:
  270. 2025-11-15 07:39:46: WARNING[Main]: 199: // Calculate color.
  271. 2025-11-15 07:39:46: WARNING[Main]: 200: vec4 color = inVertexColor;
  272. 2025-11-15 07:39:46: WARNING[Main]: 201: // Red, green and blue components are pre-multiplied with
  273. 2025-11-15 07:39:46: WARNING[Main]: 202: // the brightness, so now we have to multiply these
  274. 2025-11-15 07:39:46: WARNING[Main]: 203: // colors with the color of the incoming light.
  275. 2025-11-15 07:39:46: WARNING[Main]: 204: // The pre-baked colors are halved to prevent overflow.
  276. 2025-11-15 07:39:46: WARNING[Main]: 205: // The alpha gives the ratio of sunlight in the incoming light.
  277. 2025-11-15 07:39:46: WARNING[Main]: 206: nightRatio = 1.0 - color.a;
  278. 2025-11-15 07:39:46: WARNING[Main]: 207: color.rgb = color.rgb * (color.a * dayLight.rgb +
  279. 2025-11-15 07:39:46: WARNING[Main]: 208: nightRatio * artificialLight.rgb) * 2.0;
  280. 2025-11-15 07:39:46: WARNING[Main]: 209: color.a = 1.0;
  281. 2025-11-15 07:39:46: WARNING[Main]: 210:
  282. 2025-11-15 07:39:46: WARNING[Main]: 211: // Emphase blue a bit in darker places
  283. 2025-11-15 07:39:46: WARNING[Main]: 212: // See C++ implementation in mapblock_mesh.cpp final_color_blend()
  284. 2025-11-15 07:39:46: WARNING[Main]: 213: float brightness = (color.r + color.g + color.b) / 3.0;
  285. 2025-11-15 07:39:46: WARNING[Main]: 214: color.b += max(0.0, 0.021 - abs(0.2 * brightness - 0.021) +
  286. 2025-11-15 07:39:46: WARNING[Main]: 215: 0.07 * brightness);
  287. 2025-11-15 07:39:46: WARNING[Main]: 216:
  288. 2025-11-15 07:39:46: WARNING[Main]: 217: varColor = clamp(color, 0.0, 1.0);
  289. 2025-11-15 07:39:46: WARNING[Main]: 218:
  290. 2025-11-15 07:39:46: WARNING[Main]: 219: #ifdef ENABLE_DYNAMIC_SHADOWS
  291. 2025-11-15 07:39:46: WARNING[Main]: 220: if (f_shadow_strength > 0.0) {
  292. 2025-11-15 07:39:46: WARNING[Main]: 221: #if MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS && ENABLE_WAVING_PLANTS
  293. 2025-11-15 07:39:46: WARNING[Main]: 222: // The shadow shaders don't apply waving when creating the shadow-map.
  294. 2025-11-15 07:39:46: WARNING[Main]: 223: // We are using the not waved inVertexPosition to avoid ugly self-shadowing.
  295. 2025-11-15 07:39:46: WARNING[Main]: 224: vec4 shadow_pos = inVertexPosition;
  296. 2025-11-15 07:39:46: WARNING[Main]: 225: #else
  297. 2025-11-15 07:39:46: WARNING[Main]: 226: vec4 shadow_pos = pos;
  298. 2025-11-15 07:39:46: WARNING[Main]: 227: #endif
  299. 2025-11-15 07:39:46: WARNING[Main]: 228: vec3 nNormal;
  300. 2025-11-15 07:39:46: WARNING[Main]: 229: f_normal_length = length(vNormal);
  301. 2025-11-15 07:39:46: WARNING[Main]: 230:
  302. 2025-11-15 07:39:46: WARNING[Main]: 231: /* normalOffsetScale is in world coordinates (1/10th of a meter)
  303. 2025-11-15 07:39:46: WARNING[Main]: 232: z_bias is in light space coordinates */
  304. 2025-11-15 07:39:46: WARNING[Main]: 233: float normalOffsetScale, z_bias;
  305. 2025-11-15 07:39:46: WARNING[Main]: 234: float pFactor = getPerspectiveFactor(getRelativePosition(m_ShadowViewProj * mWorld * shadow_pos));
  306. 2025-11-15 07:39:46: WARNING[Main]: 235: if (f_normal_length > 0.0) {
  307. 2025-11-15 07:39:46: WARNING[Main]: 236: nNormal = normalize(vNormal);
  308. 2025-11-15 07:39:46: WARNING[Main]: 237: cosLight = max(1e-5, dot(nNormal, -v_LightDirection));
  309. 2025-11-15 07:39:46: WARNING[Main]: 238: float sinLight = pow(1.0 - pow(cosLight, 2.0), 0.5);
  310. 2025-11-15 07:39:46: WARNING[Main]: 239: normalOffsetScale = 2.0 * pFactor * pFactor * sinLight * min(f_shadowfar, 500.0) /
  311. 2025-11-15 07:39:46: WARNING[Main]: 240: xyPerspectiveBias1 / f_textureresolution;
  312. 2025-11-15 07:39:46: WARNING[Main]: 241: z_bias = 1.0 * sinLight / cosLight;
  313. 2025-11-15 07:39:46: WARNING[Main]: 242: }
  314. 2025-11-15 07:39:46: WARNING[Main]: 243: else {
  315. 2025-11-15 07:39:46: WARNING[Main]: 244: nNormal = vec3(0.0);
  316. 2025-11-15 07:39:46: WARNING[Main]: 245: cosLight = clamp(dot(v_LightDirection, normalize(vec3(v_LightDirection.x, 0.0, v_LightDirection.z))), 1e-2, 1.0);
  317. 2025-11-15 07:39:46: WARNING[Main]: 246: float sinLight = pow(1.0 - pow(cosLight, 2.0), 0.5);
  318. 2025-11-15 07:39:46: WARNING[Main]: 247: normalOffsetScale = 0.0;
  319. 2025-11-15 07:39:46: WARNING[Main]: 248: z_bias = 3.6e3 * sinLight / cosLight;
  320. 2025-11-15 07:39:46: WARNING[Main]: 249: }
  321. 2025-11-15 07:39:46: WARNING[Main]: 250: z_bias *= pFactor * pFactor / f_textureresolution / f_shadowfar;
  322. 2025-11-15 07:39:46: WARNING[Main]: 251:
  323. 2025-11-15 07:39:46: WARNING[Main]: 252: shadow_position = applyPerspectiveDistortion(m_ShadowViewProj * mWorld * (shadow_pos + vec4(normalOffsetScale * nNormal, 0.0))).xyz;
  324. 2025-11-15 07:39:46: WARNING[Main]: 253: #if !defined(ENABLE_TRANSLUCENT_FOLIAGE) || MATERIAL_TYPE != TILE_MATERIAL_WAVING_LEAVES
  325. 2025-11-15 07:39:46: WARNING[Main]: 254: shadow_position.z -= z_bias;
  326. 2025-11-15 07:39:46: WARNING[Main]: 255: #endif
  327. 2025-11-15 07:39:46: WARNING[Main]: 256: perspective_factor = pFactor;
  328. 2025-11-15 07:39:46: WARNING[Main]: 257:
  329. 2025-11-15 07:39:46: WARNING[Main]: 258: if (f_timeofday < 0.2) {
  330. 2025-11-15 07:39:46: WARNING[Main]: 259: adj_shadow_strength = f_shadow_strength * 0.5 *
  331. 2025-11-15 07:39:46: WARNING[Main]: 260: (1.0 - mtsmoothstep(0.18, 0.2, f_timeofday));
  332. 2025-11-15 07:39:46: WARNING[Main]: 261: } else if (f_timeofday >= 0.8) {
  333. 2025-11-15 07:39:46: WARNING[Main]: 262: adj_shadow_strength = f_shadow_strength * 0.5 *
  334. 2025-11-15 07:39:46: WARNING[Main]: 263: mtsmoothstep(0.8, 0.83, f_timeofday);
  335. 2025-11-15 07:39:46: WARNING[Main]: 264: } else {
  336. 2025-11-15 07:39:46: WARNING[Main]: 265: adj_shadow_strength = f_shadow_strength *
  337. 2025-11-15 07:39:46: WARNING[Main]: 266: mtsmoothstep(0.20, 0.25, f_timeofday) *
  338. 2025-11-15 07:39:46: WARNING[Main]: 267: (1.0 - mtsmoothstep(0.7, 0.8, f_timeofday));
  339. 2025-11-15 07:39:46: WARNING[Main]: 268: }
  340. 2025-11-15 07:39:46: WARNING[Main]: 269: }
  341. 2025-11-15 07:39:46: WARNING[Main]: 270: #endif
  342. 2025-11-15 07:39:46: WARNING[Main]: 271: }
  343. 2025-11-15 07:39:46: WARNING[Main]: 272:
  344. 2025-11-15 07:39:46: WARNING[Main]: End of vertex shader program.
  345. 2025-11-15 07:39:46: WARNING[Main]:
  346. 2025-11-15 07:39:46: WARNING[Main]: fragment shader program:
  347. 2025-11-15 07:39:46: WARNING[Main]: ----------------------------------
  348. 2025-11-15 07:39:46: WARNING[Main]: 1: #version 300 es
  349. 2025-11-15 07:39:46: WARNING[Main]: 2: #define CENTROID_ centroid
  350. 2025-11-15 07:39:46: WARNING[Main]: 3: #define ATTRIBUTE_(n) layout(location = n) in
  351. 2025-11-15 07:39:46: WARNING[Main]: 4: #define texture2D texture
  352. 2025-11-15 07:39:46: WARNING[Main]: 5: #define COLORED_SHADOWS 1
  353. 2025-11-15 07:39:46: WARNING[Main]: 6: #define ENABLE_DITHERING 1
  354. 2025-11-15 07:39:46: WARNING[Main]: 7: #define ENABLE_DYNAMIC_SHADOWS 1
  355. 2025-11-15 07:39:46: WARNING[Main]: 8: #define ENABLE_TONE_MAPPING 0
  356. 2025-11-15 07:39:46: WARNING[Main]: 9: #define ENABLE_WAVING_LEAVES 0
  357. 2025-11-15 07:39:46: WARNING[Main]: 10: #define ENABLE_WAVING_PLANTS 0
  358. 2025-11-15 07:39:46: WARNING[Main]: 11: #define ENABLE_WAVING_WATER 0
  359. 2025-11-15 07:39:46: WARNING[Main]: 12: #define MATERIAL_TYPE 6
  360. 2025-11-15 07:39:46: WARNING[Main]: 13: #define MATERIAL_WATER_REFLECTIONS 0
  361. 2025-11-15 07:39:46: WARNING[Main]: 14: #define MATERIAL_WAVING_LIQUID 0
  362. 2025-11-15 07:39:46: WARNING[Main]: 15: #define POISSON_FILTER 1
  363. 2025-11-15 07:39:46: WARNING[Main]: 16: #define SHADOW_FILTER 2
  364. 2025-11-15 07:39:46: WARNING[Main]: 17: #define SOFTSHADOWRADIUS 5.00000
  365. 2025-11-15 07:39:46: WARNING[Main]: 18: #define TILE_MATERIAL_ALPHA 1
  366. 2025-11-15 07:39:46: WARNING[Main]: 19: #define TILE_MATERIAL_BASIC 0
  367. 2025-11-15 07:39:46: WARNING[Main]: 20: #define TILE_MATERIAL_LIQUID_OPAQUE 3
  368. 2025-11-15 07:39:46: WARNING[Main]: 21: #define TILE_MATERIAL_LIQUID_TRANSPARENT 2
  369. 2025-11-15 07:39:46: WARNING[Main]: 22: #define TILE_MATERIAL_OPAQUE 6
  370. 2025-11-15 07:39:46: WARNING[Main]: 23: #define TILE_MATERIAL_PLAIN 10
  371. 2025-11-15 07:39:46: WARNING[Main]: 24: #define TILE_MATERIAL_PLAIN_ALPHA 11
  372. 2025-11-15 07:39:46: WARNING[Main]: 25: #define TILE_MATERIAL_WAVING_LEAVES 4
  373. 2025-11-15 07:39:46: WARNING[Main]: 26: #define TILE_MATERIAL_WAVING_LIQUID_BASIC 7
  374. 2025-11-15 07:39:46: WARNING[Main]: 27: #define TILE_MATERIAL_WAVING_LIQUID_OPAQUE 9
  375. 2025-11-15 07:39:46: WARNING[Main]: 28: #define TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT 8
  376. 2025-11-15 07:39:46: WARNING[Main]: 29: #define TILE_MATERIAL_WAVING_PLANTS 5
  377. 2025-11-15 07:39:46: WARNING[Main]: 30: #define USE_ARRAY_TEXTURE 1
  378. 2025-11-15 07:39:46: WARNING[Main]: 31:
  379. 2025-11-15 07:39:46: WARNING[Main]: 32: precision mediump float;
  380. 2025-11-15 07:39:46: WARNING[Main]: 33: #define VARYING_ in
  381. 2025-11-15 07:39:46: WARNING[Main]: 34: #define gl_FragColor outFragColor
  382. 2025-11-15 07:39:46: WARNING[Main]: 35: layout(location = 0) out vec4 outFragColor;
  383. 2025-11-15 07:39:46: WARNING[Main]: 36: #define baseTexture texture0
  384. 2025-11-15 07:39:46: WARNING[Main]: 0: #line 0
  385. 2025-11-15 07:39:46: WARNING[Main]: 1: #ifdef USE_ARRAY_TEXTURE
  386. 2025-11-15 07:39:46: WARNING[Main]: 2: uniform mediump sampler2DArray baseTexture;
  387. 2025-11-15 07:39:46: WARNING[Main]: 3: #else
  388. 2025-11-15 07:39:46: WARNING[Main]: 4: uniform sampler2D baseTexture;
  389. 2025-11-15 07:39:46: WARNING[Main]: 5: #endif
  390. 2025-11-15 07:39:46: WARNING[Main]: 6: #define crackTexture texture1
  391. 2025-11-15 07:39:46: WARNING[Main]: 7: uniform sampler2D crackTexture;
  392. 2025-11-15 07:39:46: WARNING[Main]: 8:
  393. 2025-11-15 07:39:46: WARNING[Main]: 9: uniform vec3 dayLight;
  394. 2025-11-15 07:39:46: WARNING[Main]: 10: uniform lowp vec4 fogColor;
  395. 2025-11-15 07:39:46: WARNING[Main]: 11: uniform float fogDistance;
  396. 2025-11-15 07:39:46: WARNING[Main]: 12: uniform float fogShadingParameter;
  397. 2025-11-15 07:39:46: WARNING[Main]: 13:
  398. 2025-11-15 07:39:46: WARNING[Main]: 14: // The cameraOffset is the current center of the visible world.
  399. 2025-11-15 07:39:46: WARNING[Main]: 15: uniform highp vec3 cameraOffset;
  400. 2025-11-15 07:39:46: WARNING[Main]: 16: uniform vec3 cameraPosition;
  401. 2025-11-15 07:39:46: WARNING[Main]: 17: uniform float animationTimer;
  402. 2025-11-15 07:39:46: WARNING[Main]: 18: uniform float crackAnimationLength;
  403. 2025-11-15 07:39:46: WARNING[Main]: 19: uniform float crackLevel;
  404. 2025-11-15 07:39:46: WARNING[Main]: 20: uniform float crackTextureScale;
  405. 2025-11-15 07:39:46: WARNING[Main]: 21:
  406. 2025-11-15 07:39:46: WARNING[Main]: 22: #ifdef ENABLE_DYNAMIC_SHADOWS
  407. 2025-11-15 07:39:46: WARNING[Main]: 23: // shadow texture
  408. 2025-11-15 07:39:46: WARNING[Main]: 24: uniform sampler2D ShadowMapSampler;
  409. 2025-11-15 07:39:46: WARNING[Main]: 25: // shadow uniforms
  410. 2025-11-15 07:39:46: WARNING[Main]: 26: uniform vec3 v_LightDirection;
  411. 2025-11-15 07:39:46: WARNING[Main]: 27: uniform float f_textureresolution;
  412. 2025-11-15 07:39:46: WARNING[Main]: 28: uniform mat4 m_ShadowViewProj;
  413. 2025-11-15 07:39:46: WARNING[Main]: 29: uniform float f_shadowfar;
  414. 2025-11-15 07:39:46: WARNING[Main]: 30: uniform float f_shadow_strength;
  415. 2025-11-15 07:39:46: WARNING[Main]: 31: uniform vec4 CameraPos;
  416. 2025-11-15 07:39:46: WARNING[Main]: 32: uniform float xyPerspectiveBias0;
  417. 2025-11-15 07:39:46: WARNING[Main]: 33: uniform float xyPerspectiveBias1;
  418. 2025-11-15 07:39:46: WARNING[Main]: 34: uniform vec3 shadow_tint;
  419. 2025-11-15 07:39:46: WARNING[Main]: 35:
  420. 2025-11-15 07:39:46: WARNING[Main]: 36: VARYING_ float adj_shadow_strength;
  421. 2025-11-15 07:39:46: WARNING[Main]: 37: VARYING_ float cosLight;
  422. 2025-11-15 07:39:46: WARNING[Main]: 38: VARYING_ float f_normal_length;
  423. 2025-11-15 07:39:46: WARNING[Main]: 39: VARYING_ vec3 shadow_position;
  424. 2025-11-15 07:39:46: WARNING[Main]: 40: VARYING_ float perspective_factor;
  425. 2025-11-15 07:39:46: WARNING[Main]: 41: #endif
  426. 2025-11-15 07:39:46: WARNING[Main]: 42:
  427. 2025-11-15 07:39:46: WARNING[Main]: 43:
  428. 2025-11-15 07:39:46: WARNING[Main]: 44: VARYING_ vec3 vNormal;
  429. 2025-11-15 07:39:46: WARNING[Main]: 45: VARYING_ vec3 vPosition;
  430. 2025-11-15 07:39:46: WARNING[Main]: 46: // World position in the visible world (i.e. relative to the cameraOffset.)
  431. 2025-11-15 07:39:46: WARNING[Main]: 47: // This can be used for many shader effects without loss of precision.
  432. 2025-11-15 07:39:46: WARNING[Main]: 48: // If the absolute position is required it can be calculated with
  433. 2025-11-15 07:39:46: WARNING[Main]: 49: // cameraOffset + worldPosition (for large coordinates the limits of float
  434. 2025-11-15 07:39:46: WARNING[Main]: 50: // precision must be considered).
  435. 2025-11-15 07:39:46: WARNING[Main]: 51: VARYING_ vec3 worldPosition;
  436. 2025-11-15 07:39:46: WARNING[Main]: 52: CENTROID_ VARYING_ lowp vec4 varColor;
  437. 2025-11-15 07:39:46: WARNING[Main]: 53: CENTROID_ VARYING_ mediump vec2 varTexCoord;
  438. 2025-11-15 07:39:46: WARNING[Main]: 54: CENTROID_ VARYING_ float varTexLayer; // actually int
  439. 2025-11-15 07:39:46: WARNING[Main]: 55: CENTROID_ VARYING_ float nightRatio;
  440. 2025-11-15 07:39:46: WARNING[Main]: 56: VARYING_ highp vec3 eyeVec;
  441. 2025-11-15 07:39:46: WARNING[Main]: 57:
  442. 2025-11-15 07:39:46: WARNING[Main]: 58: #ifdef ENABLE_DYNAMIC_SHADOWS
  443. 2025-11-15 07:39:46: WARNING[Main]: 59: #if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WATER_REFLECTIONS && ENABLE_WAVING_WATER)
  444. 2025-11-15 07:39:46: WARNING[Main]: 60: vec4 perm(vec4 x)
  445. 2025-11-15 07:39:46: WARNING[Main]: 61: {
  446. 2025-11-15 07:39:46: WARNING[Main]: 62: return mod(((x * 34.0) + 1.0) * x, 289.0);
  447. 2025-11-15 07:39:46: WARNING[Main]: 63: }
  448. 2025-11-15 07:39:46: WARNING[Main]: 64:
  449. 2025-11-15 07:39:46: WARNING[Main]: 65: // Corresponding gradient of snoise
  450. 2025-11-15 07:39:46: WARNING[Main]: 66: vec3 gnoise(vec3 p){
  451. 2025-11-15 07:39:46: WARNING[Main]: 67: vec3 a = floor(p);
  452. 2025-11-15 07:39:46: WARNING[Main]: 68: vec3 d = p - a;
  453. 2025-11-15 07:39:46: WARNING[Main]: 69: vec3 dd = 6.0 * d * (1.0 - d);
  454. 2025-11-15 07:39:46: WARNING[Main]: 70: d = d * d * (3.0 - 2.0 * d);
  455. 2025-11-15 07:39:46: WARNING[Main]: 71:
  456. 2025-11-15 07:39:46: WARNING[Main]: 72: vec4 b = a.xxyy + vec4(0.0, 1.0, 0.0, 1.0);
  457. 2025-11-15 07:39:46: WARNING[Main]: 73: vec4 k1 = perm(b.xyxy);
  458. 2025-11-15 07:39:46: WARNING[Main]: 74: vec4 k2 = perm(k1.xyxy + b.zzww);
  459. 2025-11-15 07:39:46: WARNING[Main]: 75:
  460. 2025-11-15 07:39:46: WARNING[Main]: 76: vec4 c = k2 + a.zzzz;
  461. 2025-11-15 07:39:46: WARNING[Main]: 77: vec4 k3 = perm(c);
  462. 2025-11-15 07:39:46: WARNING[Main]: 78: vec4 k4 = perm(c + 1.0);
  463. 2025-11-15 07:39:46: WARNING[Main]: 79:
  464. 2025-11-15 07:39:46: WARNING[Main]: 80: vec4 o1 = fract(k3 * (1.0 / 41.0));
  465. 2025-11-15 07:39:46: WARNING[Main]: 81: vec4 o2 = fract(k4 * (1.0 / 41.0));
  466. 2025-11-15 07:39:46: WARNING[Main]: 82:
  467. 2025-11-15 07:39:46: WARNING[Main]: 83: vec4 o3 = o2 * d.z + o1 * (1.0 - d.z);
  468. 2025-11-15 07:39:46: WARNING[Main]: 84: vec2 o4 = o3.yw * d.x + o3.xz * (1.0 - d.x);
  469. 2025-11-15 07:39:46: WARNING[Main]: 85:
  470. 2025-11-15 07:39:46: WARNING[Main]: 86: vec4 dz1 = (o2 - o1) * dd.z;
  471. 2025-11-15 07:39:46: WARNING[Main]: 87: vec2 dz2 = dz1.yw * d.x + dz1.xz * (1.0 - d.x);
  472. 2025-11-15 07:39:46: WARNING[Main]: 88:
  473. 2025-11-15 07:39:46: WARNING[Main]: 89: vec2 dx = (o3.yw - o3.xz) * dd.x;
  474. 2025-11-15 07:39:46: WARNING[Main]: 90:
  475. 2025-11-15 07:39:46: WARNING[Main]: 91: return vec3(
  476. 2025-11-15 07:39:46: WARNING[Main]: 92: dx.y * d.y + dx.x * (1. - d.y),
  477. 2025-11-15 07:39:46: WARNING[Main]: 93: (o4.y - o4.x) * dd.y,
  478. 2025-11-15 07:39:46: WARNING[Main]: 94: dz2.y * d.y + dz2.x * (1. - d.y)
  479. 2025-11-15 07:39:46: WARNING[Main]: 95: );
  480. 2025-11-15 07:39:46: WARNING[Main]: 96: }
  481. 2025-11-15 07:39:46: WARNING[Main]: 97:
  482. 2025-11-15 07:39:46: WARNING[Main]: 98: vec2 wave_noise(vec3 p, float off) {
  483. 2025-11-15 07:39:46: WARNING[Main]: 99: return (gnoise(p + vec3(0.0, 0.0, off)) * 0.4 + gnoise(2.0 * p + vec3(0.0, off, off)) * 0.2 + gnoise(3.0 * p + vec3(0.0, off, off)) * 0.225 + gnoise(4.0 * p + vec3(-off, off, 0.0)) * 0.2).xz;
  484. 2025-11-15 07:39:46: WARNING[Main]: 100: }
  485. 2025-11-15 07:39:46: WARNING[Main]: 101: #endif
  486. 2025-11-15 07:39:46: WARNING[Main]: 102:
  487. 2025-11-15 07:39:46: WARNING[Main]: 103: // assuming near is always 1.0
  488. 2025-11-15 07:39:46: WARNING[Main]: 104: float getLinearDepth()
  489. 2025-11-15 07:39:46: WARNING[Main]: 105: {
  490. 2025-11-15 07:39:46: WARNING[Main]: 106: return 2.0 * f_shadowfar / (f_shadowfar + 1.0 - (2.0 * gl_FragCoord.z - 1.0) * (f_shadowfar - 1.0));
  491. 2025-11-15 07:39:46: WARNING[Main]: 107: }
  492. 2025-11-15 07:39:46: WARNING[Main]: 108:
  493. 2025-11-15 07:39:46: WARNING[Main]: 109: vec3 getLightSpacePosition()
  494. 2025-11-15 07:39:46: WARNING[Main]: 110: {
  495. 2025-11-15 07:39:46: WARNING[Main]: 111: return shadow_position * 0.5 + 0.5;
  496. 2025-11-15 07:39:46: WARNING[Main]: 112: }
  497. 2025-11-15 07:39:46: WARNING[Main]: 113: // custom smoothstep implementation because it's not defined in glsl1.2
  498. 2025-11-15 07:39:46: WARNING[Main]: 114: // https://docs.gl/sl4/smoothstep
  499. 2025-11-15 07:39:46: WARNING[Main]: 115: float mtsmoothstep(in float edge0, in float edge1, in float x)
  500. 2025-11-15 07:39:46: WARNING[Main]: 116: {
  501. 2025-11-15 07:39:46: WARNING[Main]: 117: float t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
  502. 2025-11-15 07:39:46: WARNING[Main]: 118: return t * t * (3.0 - 2.0 * t);
  503. 2025-11-15 07:39:46: WARNING[Main]: 119: }
  504. 2025-11-15 07:39:46: WARNING[Main]: 120:
  505. 2025-11-15 07:39:46: WARNING[Main]: 121: float shadowCutoff(float x) {
  506. 2025-11-15 07:39:46: WARNING[Main]: 122: #if defined(ENABLE_TRANSLUCENT_FOLIAGE) && MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES
  507. 2025-11-15 07:39:46: WARNING[Main]: 123: return mtsmoothstep(0.0, 0.002, x);
  508. 2025-11-15 07:39:46: WARNING[Main]: 124: #else
  509. 2025-11-15 07:39:46: WARNING[Main]: 125: return step(0.0, x);
  510. 2025-11-15 07:39:46: WARNING[Main]: 126: #endif
  511. 2025-11-15 07:39:46: WARNING[Main]: 127: }
  512. 2025-11-15 07:39:46: WARNING[Main]: 128:
  513. 2025-11-15 07:39:46: WARNING[Main]: 129: #ifdef COLORED_SHADOWS
  514. 2025-11-15 07:39:46: WARNING[Main]: 130:
  515. 2025-11-15 07:39:46: WARNING[Main]: 131: // c_precision of 128 fits within 7 base-10 digits
  516. 2025-11-15 07:39:46: WARNING[Main]: 132: const float c_precision = 128.0;
  517. 2025-11-15 07:39:46: WARNING[Main]: 133: const float c_precisionp1 = c_precision + 1.0;
  518. 2025-11-15 07:39:46: WARNING[Main]: 134:
  519. 2025-11-15 07:39:46: WARNING[Main]: 135: float packColor(vec3 color)
  520. 2025-11-15 07:39:46: WARNING[Main]: 136: {
  521. 2025-11-15 07:39:46: WARNING[Main]: 137: return floor(color.b * c_precision + 0.5)
  522. 2025-11-15 07:39:46: WARNING[Main]: 138: + floor(color.g * c_precision + 0.5) * c_precisionp1
  523. 2025-11-15 07:39:46: WARNING[Main]: 139: + floor(color.r * c_precision + 0.5) * c_precisionp1 * c_precisionp1;
  524. 2025-11-15 07:39:46: WARNING[Main]: 140: }
  525. 2025-11-15 07:39:46: WARNING[Main]: 141:
  526. 2025-11-15 07:39:46: WARNING[Main]: 142: vec3 unpackColor(float value)
  527. 2025-11-15 07:39:46: WARNING[Main]: 143: {
  528. 2025-11-15 07:39:46: WARNING[Main]: 144: vec3 color;
  529. 2025-11-15 07:39:46: WARNING[Main]: 145: color.b = mod(value, c_precisionp1) / c_precision;
  530. 2025-11-15 07:39:46: WARNING[Main]: 146: color.g = mod(floor(value / c_precisionp1), c_precisionp1) / c_precision;
  531. 2025-11-15 07:39:46: WARNING[Main]: 147: color.r = floor(value / (c_precisionp1 * c_precisionp1)) / c_precision;
  532. 2025-11-15 07:39:46: WARNING[Main]: 148: return color;
  533. 2025-11-15 07:39:46: WARNING[Main]: 149: }
  534. 2025-11-15 07:39:46: WARNING[Main]: 150:
  535. 2025-11-15 07:39:46: WARNING[Main]: 151: vec4 getHardShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  536. 2025-11-15 07:39:46: WARNING[Main]: 152: {
  537. 2025-11-15 07:39:46: WARNING[Main]: 153: vec4 texDepth = texture2D(shadowsampler, smTexCoord.xy).rgba;
  538. 2025-11-15 07:39:46: WARNING[Main]: 154:
  539. 2025-11-15 07:39:46: WARNING[Main]: 155: float visibility = shadowCutoff(realDistance - texDepth.r);
  540. 2025-11-15 07:39:46: WARNING[Main]: 156: vec4 result = vec4(visibility, vec3(0.0,0.0,0.0));//unpackColor(texDepth.g));
  541. 2025-11-15 07:39:46: WARNING[Main]: 157: if (visibility < 0.1) {
  542. 2025-11-15 07:39:46: WARNING[Main]: 158: visibility = shadowCutoff(realDistance - texDepth.b);
  543. 2025-11-15 07:39:46: WARNING[Main]: 159: result = vec4(visibility, unpackColor(texDepth.a));
  544. 2025-11-15 07:39:46: WARNING[Main]: 160: }
  545. 2025-11-15 07:39:46: WARNING[Main]: 161: return result;
  546. 2025-11-15 07:39:46: WARNING[Main]: 162: }
  547. 2025-11-15 07:39:46: WARNING[Main]: 163:
  548. 2025-11-15 07:39:46: WARNING[Main]: 164: #else
  549. 2025-11-15 07:39:46: WARNING[Main]: 165:
  550. 2025-11-15 07:39:46: WARNING[Main]: 166: float getHardShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  551. 2025-11-15 07:39:46: WARNING[Main]: 167: {
  552. 2025-11-15 07:39:46: WARNING[Main]: 168: float texDepth = texture2D(shadowsampler, smTexCoord.xy).r;
  553. 2025-11-15 07:39:46: WARNING[Main]: 169: float visibility = shadowCutoff(realDistance - texDepth);
  554. 2025-11-15 07:39:46: WARNING[Main]: 170: return visibility;
  555. 2025-11-15 07:39:46: WARNING[Main]: 171: }
  556. 2025-11-15 07:39:46: WARNING[Main]: 172:
  557. 2025-11-15 07:39:46: WARNING[Main]: 173: #endif
  558. 2025-11-15 07:39:46: WARNING[Main]: 174:
  559. 2025-11-15 07:39:46: WARNING[Main]: 175:
  560. 2025-11-15 07:39:46: WARNING[Main]: 176: #if SHADOW_FILTER == 2
  561. 2025-11-15 07:39:46: WARNING[Main]: 177: #define PCFBOUND 2.0 // 5x5
  562. 2025-11-15 07:39:46: WARNING[Main]: 178: #define PCFSAMPLES 25
  563. 2025-11-15 07:39:46: WARNING[Main]: 179: #elif SHADOW_FILTER == 1
  564. 2025-11-15 07:39:46: WARNING[Main]: 180: #define PCFBOUND 1.0 // 3x3
  565. 2025-11-15 07:39:46: WARNING[Main]: 181: #define PCFSAMPLES 9
  566. 2025-11-15 07:39:46: WARNING[Main]: 182: #else
  567. 2025-11-15 07:39:46: WARNING[Main]: 183: #define PCFBOUND 0.0
  568. 2025-11-15 07:39:46: WARNING[Main]: 184: #define PCFSAMPLES 1
  569. 2025-11-15 07:39:46: WARNING[Main]: 185: #endif
  570. 2025-11-15 07:39:46: WARNING[Main]: 186:
  571. 2025-11-15 07:39:46: WARNING[Main]: 187: #ifdef COLORED_SHADOWS
  572. 2025-11-15 07:39:46: WARNING[Main]: 188: float getHardShadowDepth(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  573. 2025-11-15 07:39:46: WARNING[Main]: 189: {
  574. 2025-11-15 07:39:46: WARNING[Main]: 190: vec4 texDepth = texture2D(shadowsampler, smTexCoord.xy);
  575. 2025-11-15 07:39:46: WARNING[Main]: 191: float depth = max(realDistance - texDepth.r, realDistance - texDepth.b);
  576. 2025-11-15 07:39:46: WARNING[Main]: 192: return depth;
  577. 2025-11-15 07:39:46: WARNING[Main]: 193: }
  578. 2025-11-15 07:39:46: WARNING[Main]: 194: #else
  579. 2025-11-15 07:39:46: WARNING[Main]: 195: float getHardShadowDepth(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  580. 2025-11-15 07:39:46: WARNING[Main]: 196: {
  581. 2025-11-15 07:39:46: WARNING[Main]: 197: float texDepth = texture2D(shadowsampler, smTexCoord.xy).r;
  582. 2025-11-15 07:39:46: WARNING[Main]: 198: float depth = realDistance - texDepth;
  583. 2025-11-15 07:39:46: WARNING[Main]: 199: return depth;
  584. 2025-11-15 07:39:46: WARNING[Main]: 200: }
  585. 2025-11-15 07:39:46: WARNING[Main]: 201: #endif
  586. 2025-11-15 07:39:46: WARNING[Main]: 202:
  587. 2025-11-15 07:39:46: WARNING[Main]: 203: #define BASEFILTERRADIUS 1.0
  588. 2025-11-15 07:39:46: WARNING[Main]: 204:
  589. 2025-11-15 07:39:46: WARNING[Main]: 205: float getPenumbraRadius(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  590. 2025-11-15 07:39:46: WARNING[Main]: 206: {
  591. 2025-11-15 07:39:46: WARNING[Main]: 207: // Return fast if sharp shadows are requested
  592. 2025-11-15 07:39:46: WARNING[Main]: 208: if (PCFBOUND == 0.0 || SOFTSHADOWRADIUS <= 0.0)
  593. 2025-11-15 07:39:46: WARNING[Main]: 209: return 0.0;
  594. 2025-11-15 07:39:46: WARNING[Main]: 210:
  595. 2025-11-15 07:39:46: WARNING[Main]: 211: vec2 clampedpos;
  596. 2025-11-15 07:39:46: WARNING[Main]: 212: float y, x;
  597. 2025-11-15 07:39:46: WARNING[Main]: 213: float depth = getHardShadowDepth(shadowsampler, smTexCoord.xy, realDistance);
  598. 2025-11-15 07:39:46: WARNING[Main]: 214: // A factor from 0 to 1 to reduce blurring of short shadows
  599. 2025-11-15 07:39:46: WARNING[Main]: 215: float sharpness_factor = 1.0;
  600. 2025-11-15 07:39:46: WARNING[Main]: 216: // conversion factor from shadow depth to blur radius
  601. 2025-11-15 07:39:46: WARNING[Main]: 217: float depth_to_blur = f_shadowfar / SOFTSHADOWRADIUS / xyPerspectiveBias0;
  602. 2025-11-15 07:39:46: WARNING[Main]: 218: if (depth > 0.0 && f_normal_length > 0.0)
  603. 2025-11-15 07:39:46: WARNING[Main]: 219: // 5 is empirical factor that controls how fast shadow loses sharpness
  604. 2025-11-15 07:39:46: WARNING[Main]: 220: sharpness_factor = clamp(5.0 * depth * depth_to_blur, 0.0, 1.0);
  605. 2025-11-15 07:39:46: WARNING[Main]: 221: depth = 0.0;
  606. 2025-11-15 07:39:46: WARNING[Main]: 222:
  607. 2025-11-15 07:39:46: WARNING[Main]: 223: float world_to_texture = xyPerspectiveBias1 / perspective_factor / perspective_factor
  608. 2025-11-15 07:39:46: WARNING[Main]: 224: * f_textureresolution / 2.0 / f_shadowfar;
  609. 2025-11-15 07:39:46: WARNING[Main]: 225: float world_radius = 0.2; // shadow blur radius in world float coordinates, e.g. 0.2 = 0.02 of one node
  610. 2025-11-15 07:39:46: WARNING[Main]: 226:
  611. 2025-11-15 07:39:46: WARNING[Main]: 227: return max(BASEFILTERRADIUS * f_textureresolution / 4096.0, sharpness_factor * world_radius * world_to_texture * SOFTSHADOWRADIUS);
  612. 2025-11-15 07:39:46: WARNING[Main]: 228: }
  613. 2025-11-15 07:39:46: WARNING[Main]: 229:
  614. 2025-11-15 07:39:46: WARNING[Main]: 230: #ifdef POISSON_FILTER
  615. 2025-11-15 07:39:46: WARNING[Main]: 231: const vec2[64] poissonDisk = vec2[64](
  616. 2025-11-15 07:39:46: WARNING[Main]: 232: vec2(0.170019, -0.040254),
  617. 2025-11-15 07:39:46: WARNING[Main]: 233: vec2(-0.299417, 0.791925),
  618. 2025-11-15 07:39:46: WARNING[Main]: 234: vec2(0.645680, 0.493210),
  619. 2025-11-15 07:39:46: WARNING[Main]: 235: vec2(-0.651784, 0.717887),
  620. 2025-11-15 07:39:46: WARNING[Main]: 236: vec2(0.421003, 0.027070),
  621. 2025-11-15 07:39:46: WARNING[Main]: 237: vec2(-0.817194, -0.271096),
  622. 2025-11-15 07:39:46: WARNING[Main]: 238: vec2(-0.705374, -0.668203),
  623. 2025-11-15 07:39:46: WARNING[Main]: 239: vec2(0.977050, -0.108615),
  624. 2025-11-15 07:39:46: WARNING[Main]: 240: vec2(0.063326, 0.142369),
  625. 2025-11-15 07:39:46: WARNING[Main]: 241: vec2(0.203528, 0.214331),
  626. 2025-11-15 07:39:46: WARNING[Main]: 242: vec2(-0.667531, 0.326090),
  627. 2025-11-15 07:39:46: WARNING[Main]: 243: vec2(-0.098422, -0.295755),
  628. 2025-11-15 07:39:46: WARNING[Main]: 244: vec2(-0.885922, 0.215369),
  629. 2025-11-15 07:39:46: WARNING[Main]: 245: vec2(0.566637, 0.605213),
  630. 2025-11-15 07:39:46: WARNING[Main]: 246: vec2(0.039766, -0.396100),
  631. 2025-11-15 07:39:46: WARNING[Main]: 247: vec2(0.751946, 0.453352),
  632. 2025-11-15 07:39:46: WARNING[Main]: 248: vec2(0.078707, -0.715323),
  633. 2025-11-15 07:39:46: WARNING[Main]: 249: vec2(-0.075838, -0.529344),
  634. 2025-11-15 07:39:46: WARNING[Main]: 250: vec2(0.724479, -0.580798),
  635. 2025-11-15 07:39:46: WARNING[Main]: 251: vec2(0.222999, -0.215125),
  636. 2025-11-15 07:39:46: WARNING[Main]: 252: vec2(-0.467574, -0.405438),
  637. 2025-11-15 07:39:46: WARNING[Main]: 253: vec2(-0.248268, -0.814753),
  638. 2025-11-15 07:39:46: WARNING[Main]: 254: vec2(0.354411, -0.887570),
  639. 2025-11-15 07:39:46: WARNING[Main]: 255: vec2(0.175817, 0.382366),
  640. 2025-11-15 07:39:46: WARNING[Main]: 256: vec2(0.487472, -0.063082),
  641. 2025-11-15 07:39:46: WARNING[Main]: 257: vec2(0.355476, 0.025357),
  642. 2025-11-15 07:39:46: WARNING[Main]: 258: vec2(-0.084078, 0.898312),
  643. 2025-11-15 07:39:46: WARNING[Main]: 259: vec2(0.488876, -0.783441),
  644. 2025-11-15 07:39:46: WARNING[Main]: 260: vec2(0.470016, 0.217933),
  645. 2025-11-15 07:39:46: WARNING[Main]: 261: vec2(-0.696890, -0.549791),
  646. 2025-11-15 07:39:46: WARNING[Main]: 262: vec2(-0.149693, 0.605762),
  647. 2025-11-15 07:39:46: WARNING[Main]: 263: vec2(0.034211, 0.979980),
  648. 2025-11-15 07:39:46: WARNING[Main]: 264: vec2(0.503098, -0.308878),
  649. 2025-11-15 07:39:46: WARNING[Main]: 265: vec2(-0.016205, -0.872921),
  650. 2025-11-15 07:39:46: WARNING[Main]: 266: vec2(0.385784, -0.393902),
  651. 2025-11-15 07:39:46: WARNING[Main]: 267: vec2(-0.146886, -0.859249),
  652. 2025-11-15 07:39:46: WARNING[Main]: 268: vec2(0.643361, 0.164098),
  653. 2025-11-15 07:39:46: WARNING[Main]: 269: vec2(0.634388, -0.049471),
  654. 2025-11-15 07:39:46: WARNING[Main]: 270: vec2(-0.688894, 0.007843),
  655. 2025-11-15 07:39:46: WARNING[Main]: 271: vec2(0.464034, -0.188818),
  656. 2025-11-15 07:39:46: WARNING[Main]: 272: vec2(-0.440840, 0.137486),
  657. 2025-11-15 07:39:46: WARNING[Main]: 273: vec2(0.364483, 0.511704),
  658. 2025-11-15 07:39:46: WARNING[Main]: 274: vec2(0.034028, 0.325968),
  659. 2025-11-15 07:39:46: WARNING[Main]: 275: vec2(0.099094, -0.308023),
  660. 2025-11-15 07:39:46: WARNING[Main]: 276: vec2(0.693960, -0.366253),
  661. 2025-11-15 07:39:46: WARNING[Main]: 277: vec2(0.678884, -0.204688),
  662. 2025-11-15 07:39:46: WARNING[Main]: 278: vec2(0.001801, 0.780328),
  663. 2025-11-15 07:39:46: WARNING[Main]: 279: vec2(0.145177, -0.898984),
  664. 2025-11-15 07:39:46: WARNING[Main]: 280: vec2(0.062655, -0.611866),
  665. 2025-11-15 07:39:46: WARNING[Main]: 281: vec2(0.315226, -0.604297),
  666. 2025-11-15 07:39:46: WARNING[Main]: 282: vec2(-0.780145, 0.486251),
  667. 2025-11-15 07:39:46: WARNING[Main]: 283: vec2(-0.371868, 0.882138),
  668. 2025-11-15 07:39:46: WARNING[Main]: 284: vec2(0.200476, 0.494430),
  669. 2025-11-15 07:39:46: WARNING[Main]: 285: vec2(-0.494552, -0.711051),
  670. 2025-11-15 07:39:46: WARNING[Main]: 286: vec2(0.612476, 0.705252),
  671. 2025-11-15 07:39:46: WARNING[Main]: 287: vec2(-0.578845, -0.768792),
  672. 2025-11-15 07:39:46: WARNING[Main]: 288: vec2(-0.772454, -0.090976),
  673. 2025-11-15 07:39:46: WARNING[Main]: 289: vec2(0.504440, 0.372295),
  674. 2025-11-15 07:39:46: WARNING[Main]: 290: vec2(0.155736, 0.065157),
  675. 2025-11-15 07:39:46: WARNING[Main]: 291: vec2(0.391522, 0.849605),
  676. 2025-11-15 07:39:46: WARNING[Main]: 292: vec2(-0.620106, -0.328104),
  677. 2025-11-15 07:39:46: WARNING[Main]: 293: vec2(0.789239, -0.419965),
  678. 2025-11-15 07:39:46: WARNING[Main]: 294: vec2(-0.545396, 0.538133),
  679. 2025-11-15 07:39:46: WARNING[Main]: 295: vec2(-0.178564, -0.596057)
  680. 2025-11-15 07:39:46: WARNING[Main]: 296: );
  681. 2025-11-15 07:39:46: WARNING[Main]: 297:
  682. 2025-11-15 07:39:46: WARNING[Main]: 298: #ifdef COLORED_SHADOWS
  683. 2025-11-15 07:39:46: WARNING[Main]: 299:
  684. 2025-11-15 07:39:46: WARNING[Main]: 300: vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  685. 2025-11-15 07:39:46: WARNING[Main]: 301: {
  686. 2025-11-15 07:39:46: WARNING[Main]: 302: float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance);
  687. 2025-11-15 07:39:46: WARNING[Main]: 303: if (radius < 0.1) {
  688. 2025-11-15 07:39:46: WARNING[Main]: 304: // we are in the middle of even brightness, no need for filtering
  689. 2025-11-15 07:39:46: WARNING[Main]: 305: return getHardShadowColor(shadowsampler, smTexCoord.xy, realDistance);
  690. 2025-11-15 07:39:46: WARNING[Main]: 306: }
  691. 2025-11-15 07:39:46: WARNING[Main]: 307:
  692. 2025-11-15 07:39:46: WARNING[Main]: 308: vec2 clampedpos;
  693. 2025-11-15 07:39:46: WARNING[Main]: 309: vec4 visibility = vec4(0.0);
  694. 2025-11-15 07:39:46: WARNING[Main]: 310: float scale_factor = radius / f_textureresolution;
  695. 2025-11-15 07:39:46: WARNING[Main]: 311:
  696. 2025-11-15 07:39:46: WARNING[Main]: 312: int samples = (1 + 1 * int(SOFTSHADOWRADIUS > 1.0)) * PCFSAMPLES; // scale max samples for the soft shadows
  697. 2025-11-15 07:39:46: WARNING[Main]: 313: samples = int(clamp(pow(4.0 * radius + 1.0, 2.0), 1.0, float(samples)));
  698. 2025-11-15 07:39:46: WARNING[Main]: 314: int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-samples)));
  699. 2025-11-15 07:39:46: WARNING[Main]: 315: int end_offset = int(samples) + init_offset;
  700. 2025-11-15 07:39:46: WARNING[Main]: 316:
  701. 2025-11-15 07:39:46: WARNING[Main]: 317: for (int x = init_offset; x < end_offset; x++) {
  702. 2025-11-15 07:39:46: WARNING[Main]: 318: clampedpos = poissonDisk[x] * scale_factor + smTexCoord.xy;
  703. 2025-11-15 07:39:46: WARNING[Main]: 319: visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance);
  704. 2025-11-15 07:39:46: WARNING[Main]: 320: }
  705. 2025-11-15 07:39:46: WARNING[Main]: 321:
  706. 2025-11-15 07:39:46: WARNING[Main]: 322: return visibility / samples;
  707. 2025-11-15 07:39:46: WARNING[Main]: 323: }
  708. 2025-11-15 07:39:46: WARNING[Main]: 324:
  709. 2025-11-15 07:39:46: WARNING[Main]: 325: #else
  710. 2025-11-15 07:39:46: WARNING[Main]: 326:
  711. 2025-11-15 07:39:46: WARNING[Main]: 327: float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  712. 2025-11-15 07:39:46: WARNING[Main]: 328: {
  713. 2025-11-15 07:39:46: WARNING[Main]: 329: float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance);
  714. 2025-11-15 07:39:46: WARNING[Main]: 330: if (radius < 0.1) {
  715. 2025-11-15 07:39:46: WARNING[Main]: 331: // we are in the middle of even brightness, no need for filtering
  716. 2025-11-15 07:39:46: WARNING[Main]: 332: return getHardShadow(shadowsampler, smTexCoord.xy, realDistance);
  717. 2025-11-15 07:39:46: WARNING[Main]: 333: }
  718. 2025-11-15 07:39:46: WARNING[Main]: 334:
  719. 2025-11-15 07:39:46: WARNING[Main]: 335: vec2 clampedpos;
  720. 2025-11-15 07:39:46: WARNING[Main]: 336: float visibility = 0.0;
  721. 2025-11-15 07:39:46: WARNING[Main]: 337: float scale_factor = radius / f_textureresolution;
  722. 2025-11-15 07:39:46: WARNING[Main]: 338:
  723. 2025-11-15 07:39:46: WARNING[Main]: 339: int samples = (1 + 1 * int(SOFTSHADOWRADIUS > 1.0)) * PCFSAMPLES; // scale max samples for the soft shadows
  724. 2025-11-15 07:39:46: WARNING[Main]: 340: samples = int(clamp(pow(4.0 * radius + 1.0, 2.0), 1.0, float(samples)));
  725. 2025-11-15 07:39:46: WARNING[Main]: 341: int init_offset = int(floor(mod(((smTexCoord.x * 34.0) + 1.0) * smTexCoord.y, 64.0-samples)));
  726. 2025-11-15 07:39:46: WARNING[Main]: 342: int end_offset = int(samples) + init_offset;
  727. 2025-11-15 07:39:46: WARNING[Main]: 343:
  728. 2025-11-15 07:39:46: WARNING[Main]: 344: for (int x = init_offset; x < end_offset; x++) {
  729. 2025-11-15 07:39:46: WARNING[Main]: 345: clampedpos = poissonDisk[x] * scale_factor + smTexCoord.xy;
  730. 2025-11-15 07:39:46: WARNING[Main]: 346: visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance);
  731. 2025-11-15 07:39:46: WARNING[Main]: 347: }
  732. 2025-11-15 07:39:46: WARNING[Main]: 348:
  733. 2025-11-15 07:39:46: WARNING[Main]: 349: return visibility / samples;
  734. 2025-11-15 07:39:46: WARNING[Main]: 350: }
  735. 2025-11-15 07:39:46: WARNING[Main]: 351:
  736. 2025-11-15 07:39:46: WARNING[Main]: 352: #endif
  737. 2025-11-15 07:39:46: WARNING[Main]: 353:
  738. 2025-11-15 07:39:46: WARNING[Main]: 354: #else
  739. 2025-11-15 07:39:46: WARNING[Main]: 355: /* poisson filter disabled */
  740. 2025-11-15 07:39:46: WARNING[Main]: 356:
  741. 2025-11-15 07:39:46: WARNING[Main]: 357: #ifdef COLORED_SHADOWS
  742. 2025-11-15 07:39:46: WARNING[Main]: 358:
  743. 2025-11-15 07:39:46: WARNING[Main]: 359: vec4 getShadowColor(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  744. 2025-11-15 07:39:46: WARNING[Main]: 360: {
  745. 2025-11-15 07:39:46: WARNING[Main]: 361: float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance);
  746. 2025-11-15 07:39:46: WARNING[Main]: 362: if (radius < 0.1) {
  747. 2025-11-15 07:39:46: WARNING[Main]: 363: // we are in the middle of even brightness, no need for filtering
  748. 2025-11-15 07:39:46: WARNING[Main]: 364: return getHardShadowColor(shadowsampler, smTexCoord.xy, realDistance);
  749. 2025-11-15 07:39:46: WARNING[Main]: 365: }
  750. 2025-11-15 07:39:46: WARNING[Main]: 366:
  751. 2025-11-15 07:39:46: WARNING[Main]: 367: vec2 clampedpos;
  752. 2025-11-15 07:39:46: WARNING[Main]: 368: vec4 visibility = vec4(0.0);
  753. 2025-11-15 07:39:46: WARNING[Main]: 369: float x, y;
  754. 2025-11-15 07:39:46: WARNING[Main]: 370: float bound = (1 + 0.5 * int(SOFTSHADOWRADIUS > 1.0)) * PCFBOUND; // scale max bound for soft shadows
  755. 2025-11-15 07:39:46: WARNING[Main]: 371: bound = clamp(0.5 * (4.0 * radius - 1.0), 0.5, bound);
  756. 2025-11-15 07:39:46: WARNING[Main]: 372: float scale_factor = radius / bound / f_textureresolution;
  757. 2025-11-15 07:39:46: WARNING[Main]: 373: float n = 0.0;
  758. 2025-11-15 07:39:46: WARNING[Main]: 374:
  759. 2025-11-15 07:39:46: WARNING[Main]: 375: // basic PCF filter
  760. 2025-11-15 07:39:46: WARNING[Main]: 376: for (y = -bound; y <= bound; y += 1.0)
  761. 2025-11-15 07:39:46: WARNING[Main]: 377: for (x = -bound; x <= bound; x += 1.0) {
  762. 2025-11-15 07:39:46: WARNING[Main]: 378: clampedpos = vec2(x,y) * scale_factor + smTexCoord.xy;
  763. 2025-11-15 07:39:46: WARNING[Main]: 379: visibility += getHardShadowColor(shadowsampler, clampedpos.xy, realDistance);
  764. 2025-11-15 07:39:46: WARNING[Main]: 380: n += 1.0;
  765. 2025-11-15 07:39:46: WARNING[Main]: 381: }
  766. 2025-11-15 07:39:46: WARNING[Main]: 382:
  767. 2025-11-15 07:39:46: WARNING[Main]: 383: return visibility / max(n, 1.0);
  768. 2025-11-15 07:39:46: WARNING[Main]: 384: }
  769. 2025-11-15 07:39:46: WARNING[Main]: 385:
  770. 2025-11-15 07:39:46: WARNING[Main]: 386: #else
  771. 2025-11-15 07:39:46: WARNING[Main]: 387: float getShadow(sampler2D shadowsampler, vec2 smTexCoord, float realDistance)
  772. 2025-11-15 07:39:46: WARNING[Main]: 388: {
  773. 2025-11-15 07:39:46: WARNING[Main]: 389: float radius = getPenumbraRadius(shadowsampler, smTexCoord, realDistance);
  774. 2025-11-15 07:39:46: WARNING[Main]: 390: if (radius < 0.1) {
  775. 2025-11-15 07:39:46: WARNING[Main]: 391: // we are in the middle of even brightness, no need for filtering
  776. 2025-11-15 07:39:46: WARNING[Main]: 392: return getHardShadow(shadowsampler, smTexCoord.xy, realDistance);
  777. 2025-11-15 07:39:46: WARNING[Main]: 393: }
  778. 2025-11-15 07:39:46: WARNING[Main]: 394:
  779. 2025-11-15 07:39:46: WARNING[Main]: 395: vec2 clampedpos;
  780. 2025-11-15 07:39:46: WARNING[Main]: 396: float visibility = 0.0;
  781. 2025-11-15 07:39:46: WARNING[Main]: 397: float x, y;
  782. 2025-11-15 07:39:46: WARNING[Main]: 398: float bound = (1 + 0.5 * int(SOFTSHADOWRADIUS > 1.0)) * PCFBOUND; // scale max bound for soft shadows
  783. 2025-11-15 07:39:46: WARNING[Main]: 399: bound = clamp(0.5 * (4.0 * radius - 1.0), 0.5, bound);
  784. 2025-11-15 07:39:46: WARNING[Main]: 400: float scale_factor = radius / bound / f_textureresolution;
  785. 2025-11-15 07:39:46: WARNING[Main]: 401: float n = 0.0;
  786. 2025-11-15 07:39:46: WARNING[Main]: 402:
  787. 2025-11-15 07:39:46: WARNING[Main]: 403: // basic PCF filter
  788. 2025-11-15 07:39:46: WARNING[Main]: 404: for (y = -bound; y <= bound; y += 1.0)
  789. 2025-11-15 07:39:46: WARNING[Main]: 405: for (x = -bound; x <= bound; x += 1.0) {
  790. 2025-11-15 07:39:46: WARNING[Main]: 406: clampedpos = vec2(x,y) * scale_factor + smTexCoord.xy;
  791. 2025-11-15 07:39:46: WARNING[Main]: 407: visibility += getHardShadow(shadowsampler, clampedpos.xy, realDistance);
  792. 2025-11-15 07:39:46: WARNING[Main]: 408: n += 1.0;
  793. 2025-11-15 07:39:46: WARNING[Main]: 409: }
  794. 2025-11-15 07:39:46: WARNING[Main]: 410:
  795. 2025-11-15 07:39:46: WARNING[Main]: 411: return visibility / max(n, 1.0);
  796. 2025-11-15 07:39:46: WARNING[Main]: 412: }
  797. 2025-11-15 07:39:46: WARNING[Main]: 413:
  798. 2025-11-15 07:39:46: WARNING[Main]: 414: #endif
  799. 2025-11-15 07:39:46: WARNING[Main]: 415:
  800. 2025-11-15 07:39:46: WARNING[Main]: 416: #endif
  801. 2025-11-15 07:39:46: WARNING[Main]: 417: #endif
  802. 2025-11-15 07:39:46: WARNING[Main]: 418:
  803. 2025-11-15 07:39:46: WARNING[Main]: 419: // maps [0, N] to [0, 1] like GL_REPEAT would
  804. 2025-11-15 07:39:46: WARNING[Main]: 420: vec2 uv_repeat(vec2 v)
  805. 2025-11-15 07:39:46: WARNING[Main]: 421: {
  806. 2025-11-15 07:39:46: WARNING[Main]: 422: if (v.x > 1.0)
  807. 2025-11-15 07:39:46: WARNING[Main]: 423: v.x = fract(v.x);
  808. 2025-11-15 07:39:46: WARNING[Main]: 424: if (v.y > 1.0)
  809. 2025-11-15 07:39:46: WARNING[Main]: 425: v.y = fract(v.y);
  810. 2025-11-15 07:39:46: WARNING[Main]: 426: return v;
  811. 2025-11-15 07:39:46: WARNING[Main]: 427: }
  812. 2025-11-15 07:39:46: WARNING[Main]: 428:
  813. 2025-11-15 07:39:46: WARNING[Main]: 429: void main(void)
  814. 2025-11-15 07:39:46: WARNING[Main]: 430: {
  815. 2025-11-15 07:39:46: WARNING[Main]: 431: vec2 uv = varTexCoord.st;
  816. 2025-11-15 07:39:46: WARNING[Main]: 432:
  817. 2025-11-15 07:39:46: WARNING[Main]: 433: #ifdef USE_ARRAY_TEXTURE
  818. 2025-11-15 07:39:46: WARNING[Main]: 434: vec4 base = texture(baseTexture, vec3(uv, varTexLayer)).rgba;
  819. 2025-11-15 07:39:46: WARNING[Main]: 435: #else
  820. 2025-11-15 07:39:46: WARNING[Main]: 436: vec4 base = texture2D(baseTexture, uv).rgba;
  821. 2025-11-15 07:39:46: WARNING[Main]: 437: #endif
  822. 2025-11-15 07:39:46: WARNING[Main]: 438:
  823. 2025-11-15 07:39:46: WARNING[Main]: 439: // Handle transparency by discarding pixel as appropriate.
  824. 2025-11-15 07:39:46: WARNING[Main]: 440: #ifdef USE_DISCARD
  825. 2025-11-15 07:39:46: WARNING[Main]: 441: if (base.a == 0.0)
  826. 2025-11-15 07:39:46: WARNING[Main]: 442: discard;
  827. 2025-11-15 07:39:46: WARNING[Main]: 443: #endif
  828. 2025-11-15 07:39:46: WARNING[Main]: 444: #ifdef USE_DISCARD_REF
  829. 2025-11-15 07:39:46: WARNING[Main]: 445: if (base.a < 0.5)
  830. 2025-11-15 07:39:46: WARNING[Main]: 446: discard;
  831. 2025-11-15 07:39:46: WARNING[Main]: 447: #endif
  832. 2025-11-15 07:39:46: WARNING[Main]: 448:
  833. 2025-11-15 07:39:46: WARNING[Main]: 449: // Apply crack overlay
  834. 2025-11-15 07:39:46: WARNING[Main]: 450: float crack_progress = min(crackLevel, crackAnimationLength - 1.0);
  835. 2025-11-15 07:39:46: WARNING[Main]: 451: if (crack_progress >= 0.0) {
  836. 2025-11-15 07:39:46: WARNING[Main]: 452: // undo scaling of e.g. world-aligned nodes
  837. 2025-11-15 07:39:46: WARNING[Main]: 453: vec2 orig_uv = uv_repeat(uv * vec2(crackTextureScale));
  838. 2025-11-15 07:39:46: WARNING[Main]: 454:
  839. 2025-11-15 07:39:46: WARNING[Main]: 455: vec2 cuv_offset = vec2(0.0, crack_progress / crackAnimationLength);
  840. 2025-11-15 07:39:46: WARNING[Main]: 456: vec2 cuv_factor = vec2(1.0, 1.0 / crackAnimationLength);
  841. 2025-11-15 07:39:46: WARNING[Main]: 457: vec4 crack = texture2D(crackTexture, cuv_offset + orig_uv * cuv_factor);
  842. 2025-11-15 07:39:46: WARNING[Main]: 458: base = mix(base, crack, crack.a);
  843. 2025-11-15 07:39:46: WARNING[Main]: 459: }
  844. 2025-11-15 07:39:46: WARNING[Main]: 460:
  845. 2025-11-15 07:39:46: WARNING[Main]: 461: vec4 col = vec4(base.rgb * varColor.rgb, 1.0);
  846. 2025-11-15 07:39:46: WARNING[Main]: 462:
  847. 2025-11-15 07:39:46: WARNING[Main]: 463: #ifdef ENABLE_DYNAMIC_SHADOWS
  848. 2025-11-15 07:39:46: WARNING[Main]: 464: // Fragment normal, can differ from vNormal which is derived from vertex normals.
  849. 2025-11-15 07:39:46: WARNING[Main]: 465: vec3 fNormal = vNormal;
  850. 2025-11-15 07:39:46: WARNING[Main]: 466:
  851. 2025-11-15 07:39:46: WARNING[Main]: 467: if (f_shadow_strength > 0.0) {
  852. 2025-11-15 07:39:46: WARNING[Main]: 468: float shadow_int = 0.0;
  853. 2025-11-15 07:39:46: WARNING[Main]: 469: vec3 shadow_color = vec3(0.0, 0.0, 0.0);
  854. 2025-11-15 07:39:46: WARNING[Main]: 470: vec3 posLightSpace = getLightSpacePosition();
  855. 2025-11-15 07:39:46: WARNING[Main]: 471:
  856. 2025-11-15 07:39:46: WARNING[Main]: 472: float distance_rate = (1.0 - pow(clamp(2.0 * length(posLightSpace.xy - 0.5),0.0,1.0), 10.0));
  857. 2025-11-15 07:39:46: WARNING[Main]: 473: if (max(abs(posLightSpace.x - 0.5), abs(posLightSpace.y - 0.5)) > 0.5)
  858. 2025-11-15 07:39:46: WARNING[Main]: 474: distance_rate = 0.0;
  859. 2025-11-15 07:39:46: WARNING[Main]: 475: float f_adj_shadow_strength = max(adj_shadow_strength - mtsmoothstep(0.9, 1.1, posLightSpace.z),0.0);
  860. 2025-11-15 07:39:46: WARNING[Main]: 476:
  861. 2025-11-15 07:39:46: WARNING[Main]: 477: if (distance_rate > 1e-7) {
  862. 2025-11-15 07:39:46: WARNING[Main]: 478:
  863. 2025-11-15 07:39:46: WARNING[Main]: 479: #ifdef COLORED_SHADOWS
  864. 2025-11-15 07:39:46: WARNING[Main]: 480: vec4 visibility;
  865. 2025-11-15 07:39:46: WARNING[Main]: 481: if (cosLight > 0.0 || f_normal_length < 1e-3)
  866. 2025-11-15 07:39:46: WARNING[Main]: 482: visibility = getShadowColor(ShadowMapSampler, posLightSpace.xy, posLightSpace.z);
  867. 2025-11-15 07:39:46: WARNING[Main]: 483: else
  868. 2025-11-15 07:39:46: WARNING[Main]: 484: visibility = vec4(1.0, 0.0, 0.0, 0.0);
  869. 2025-11-15 07:39:46: WARNING[Main]: 485: shadow_int = visibility.r;
  870. 2025-11-15 07:39:46: WARNING[Main]: 486: shadow_color = visibility.gba;
  871. 2025-11-15 07:39:46: WARNING[Main]: 487: #else
  872. 2025-11-15 07:39:46: WARNING[Main]: 488: if (cosLight > 0.0 || f_normal_length < 1e-3)
  873. 2025-11-15 07:39:46: WARNING[Main]: 489: shadow_int = getShadow(ShadowMapSampler, posLightSpace.xy, posLightSpace.z);
  874. 2025-11-15 07:39:46: WARNING[Main]: 490: else
  875. 2025-11-15 07:39:46: WARNING[Main]: 491: shadow_int = 1.0;
  876. 2025-11-15 07:39:46: WARNING[Main]: 492: #endif
  877. 2025-11-15 07:39:46: WARNING[Main]: 493: shadow_int *= distance_rate;
  878. 2025-11-15 07:39:46: WARNING[Main]: 494: shadow_int = clamp(shadow_int, 0.0, 1.0);
  879. 2025-11-15 07:39:46: WARNING[Main]: 495:
  880. 2025-11-15 07:39:46: WARNING[Main]: 496: }
  881. 2025-11-15 07:39:46: WARNING[Main]: 497:
  882. 2025-11-15 07:39:46: WARNING[Main]: 498: // turns out that nightRatio falls off much faster than
  883. 2025-11-15 07:39:46: WARNING[Main]: 499: // actual brightness of artificial light in relation to natual light.
  884. 2025-11-15 07:39:46: WARNING[Main]: 500: // Power ratio was measured on torches in MTG (brightness = 14).
  885. 2025-11-15 07:39:46: WARNING[Main]: 501: float adjusted_night_ratio = pow(max(0.0, nightRatio), 0.6);
  886. 2025-11-15 07:39:46: WARNING[Main]: 502:
  887. 2025-11-15 07:39:46: WARNING[Main]: 503: float shadow_uncorrected = shadow_int;
  888. 2025-11-15 07:39:46: WARNING[Main]: 504:
  889. 2025-11-15 07:39:46: WARNING[Main]: 505: // Apply self-shadowing when light falls at a narrow angle to the surface
  890. 2025-11-15 07:39:46: WARNING[Main]: 506: // Cosine of the cut-off angle.
  891. 2025-11-15 07:39:46: WARNING[Main]: 507: const float self_shadow_cutoff_cosine = 0.035;
  892. 2025-11-15 07:39:46: WARNING[Main]: 508: if (f_normal_length != 0 && cosLight < self_shadow_cutoff_cosine) {
  893. 2025-11-15 07:39:46: WARNING[Main]: 509: shadow_int = max(shadow_int, 1 - clamp(cosLight, 0.0, self_shadow_cutoff_cosine)/self_shadow_cutoff_cosine);
  894. 2025-11-15 07:39:46: WARNING[Main]: 510: shadow_color = mix(vec3(0.0), shadow_color, min(cosLight, self_shadow_cutoff_cosine)/self_shadow_cutoff_cosine);
  895. 2025-11-15 07:39:46: WARNING[Main]: 511:
  896. 2025-11-15 07:39:46: WARNING[Main]: 512: #if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES || MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS)
  897. 2025-11-15 07:39:46: WARNING[Main]: 513: // Prevents foliage from becoming insanely bright outside the shadow map.
  898. 2025-11-15 07:39:46: WARNING[Main]: 514: shadow_uncorrected = mix(shadow_int, shadow_uncorrected, clamp(distance_rate * 4.0 - 3.0, 0.0, 1.0));
  899. 2025-11-15 07:39:46: WARNING[Main]: 515: #endif
  900. 2025-11-15 07:39:46: WARNING[Main]: 516: }
  901. 2025-11-15 07:39:46: WARNING[Main]: 517:
  902. 2025-11-15 07:39:46: WARNING[Main]: 518: shadow_int *= f_adj_shadow_strength;
  903. 2025-11-15 07:39:46: WARNING[Main]: 519:
  904. 2025-11-15 07:39:46: WARNING[Main]: 520: // calculate fragment color from components:
  905. 2025-11-15 07:39:46: WARNING[Main]: 521: col.rgb =
  906. 2025-11-15 07:39:46: WARNING[Main]: 522: adjusted_night_ratio * col.rgb + // artificial light
  907. 2025-11-15 07:39:46: WARNING[Main]: 523: (1.0 - adjusted_night_ratio) * ( // natural light
  908. 2025-11-15 07:39:46: WARNING[Main]: 524: col.rgb * (1.0 - shadow_int * (1.0 - shadow_color) * (1.0 - shadow_tint)) + // filtered texture color
  909. 2025-11-15 07:39:46: WARNING[Main]: 525: dayLight * shadow_color * shadow_int); // reflected filtered sunlight/moonlight
  910. 2025-11-15 07:39:46: WARNING[Main]: 526:
  911. 2025-11-15 07:39:46: WARNING[Main]: 527:
  912. 2025-11-15 07:39:46: WARNING[Main]: 528: vec3 reflect_ray = -normalize(v_LightDirection - fNormal * dot(v_LightDirection, fNormal) * 2.0);
  913. 2025-11-15 07:39:46: WARNING[Main]: 529:
  914. 2025-11-15 07:39:46: WARNING[Main]: 530: vec3 viewVec = normalize(worldPosition + cameraOffset - cameraPosition);
  915. 2025-11-15 07:39:46: WARNING[Main]: 531:
  916. 2025-11-15 07:39:46: WARNING[Main]: 532: // Water reflections
  917. 2025-11-15 07:39:46: WARNING[Main]: 533: #if (defined(ENABLE_WATER_REFLECTIONS) && MATERIAL_WATER_REFLECTIONS && ENABLE_WAVING_WATER)
  918. 2025-11-15 07:39:46: WARNING[Main]: 534: vec3 wavePos = worldPosition * vec3(2.0, 0.0, 2.0);
  919. 2025-11-15 07:39:46: WARNING[Main]: 535: float off = animationTimer * WATER_WAVE_SPEED * 10.0;
  920. 2025-11-15 07:39:46: WARNING[Main]: 536: wavePos.x /= WATER_WAVE_LENGTH * 3.0;
  921. 2025-11-15 07:39:46: WARNING[Main]: 537: wavePos.z /= WATER_WAVE_LENGTH * 2.0;
  922. 2025-11-15 07:39:46: WARNING[Main]: 538:
  923. 2025-11-15 07:39:46: WARNING[Main]: 539: // This is an analogous method to the bumpmap, except we get the gradient information directly from gnoise.
  924. 2025-11-15 07:39:46: WARNING[Main]: 540: vec2 gradient = wave_noise(wavePos, off);
  925. 2025-11-15 07:39:46: WARNING[Main]: 541: fNormal = normalize(normalize(fNormal) + vec3(gradient.x, 0., gradient.y) * WATER_WAVE_HEIGHT * abs(fNormal.y) * 0.25);
  926. 2025-11-15 07:39:46: WARNING[Main]: 542: reflect_ray = -normalize(v_LightDirection - fNormal * dot(v_LightDirection, fNormal) * 2.0);
  927. 2025-11-15 07:39:46: WARNING[Main]: 543: float fresnel_factor = dot(fNormal, viewVec);
  928. 2025-11-15 07:39:46: WARNING[Main]: 544:
  929. 2025-11-15 07:39:46: WARNING[Main]: 545: float brightness_factor = 1.0 - adjusted_night_ratio;
  930. 2025-11-15 07:39:46: WARNING[Main]: 546:
  931. 2025-11-15 07:39:46: WARNING[Main]: 547: // A little trig hack. We go from the dot product of viewVec and normal to the dot product of viewVec and tangent to apply a fresnel effect.
  932. 2025-11-15 07:39:46: WARNING[Main]: 548: fresnel_factor = clamp(pow(1.0 - fresnel_factor * fresnel_factor, 8.0), 0.0, 1.0) * 0.8 + 0.2;
  933. 2025-11-15 07:39:46: WARNING[Main]: 549: col.rgb *= 0.5;
  934. 2025-11-15 07:39:46: WARNING[Main]: 550: vec3 reflection_color = mix(vec3(max(fogColor.r, max(fogColor.g, fogColor.b))), fogColor.rgb, f_shadow_strength);
  935. 2025-11-15 07:39:46: WARNING[Main]: 551:
  936. 2025-11-15 07:39:46: WARNING[Main]: 552: // Sky reflection
  937. 2025-11-15 07:39:46: WARNING[Main]: 553: col.rgb += reflection_color * pow(fresnel_factor, 2.0) * 0.5 * brightness_factor;
  938. 2025-11-15 07:39:46: WARNING[Main]: 554: vec3 water_reflect_color = 12.0 * dayLight * fresnel_factor * mtsmoothstep(0.85, 0.9, pow(clamp(dot(reflect_ray, viewVec), 0.0, 1.0), 32.0)) * max(1.0 - shadow_uncorrected, 0.0);
  939. 2025-11-15 07:39:46: WARNING[Main]: 555:
  940. 2025-11-15 07:39:46: WARNING[Main]: 556: // This line exists to prevent ridiculously bright reflection colors.
  941. 2025-11-15 07:39:46: WARNING[Main]: 557: water_reflect_color /= clamp(max(water_reflect_color.r, max(water_reflect_color.g, water_reflect_color.b)) * 0.375, 1.0, 400.0);
  942. 2025-11-15 07:39:46: WARNING[Main]: 558: col.rgb += water_reflect_color * f_adj_shadow_strength * brightness_factor;
  943. 2025-11-15 07:39:46: WARNING[Main]: 559: #endif
  944. 2025-11-15 07:39:46: WARNING[Main]: 560:
  945. 2025-11-15 07:39:46: WARNING[Main]: 561: #if (defined(ENABLE_NODE_SPECULAR) && !MATERIAL_WATER_REFLECTIONS)
  946. 2025-11-15 07:39:46: WARNING[Main]: 562: // Apply specular to blocks.
  947. 2025-11-15 07:39:46: WARNING[Main]: 563: if (dot(v_LightDirection, vNormal) < 0.0) {
  948. 2025-11-15 07:39:46: WARNING[Main]: 564: float intensity = 2.0 * (1.0 - (base.r * varColor.r));
  949. 2025-11-15 07:39:46: WARNING[Main]: 565: const float specular_exponent = 5.0;
  950. 2025-11-15 07:39:46: WARNING[Main]: 566: const float fresnel_exponent = 4.0;
  951. 2025-11-15 07:39:46: WARNING[Main]: 567:
  952. 2025-11-15 07:39:46: WARNING[Main]: 568: col.rgb +=
  953. 2025-11-15 07:39:46: WARNING[Main]: 569: intensity * dayLight * (1.0 - nightRatio) * (1.0 - shadow_uncorrected) * f_adj_shadow_strength *
  954. 2025-11-15 07:39:46: WARNING[Main]: 570: pow(max(dot(reflect_ray, viewVec), 0.0), fresnel_exponent) * pow(1.0 - abs(dot(viewVec, fNormal)), specular_exponent);
  955. 2025-11-15 07:39:46: WARNING[Main]: 571: }
  956. 2025-11-15 07:39:46: WARNING[Main]: 572: #endif
  957. 2025-11-15 07:39:46: WARNING[Main]: 573:
  958. 2025-11-15 07:39:46: WARNING[Main]: 574: #if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_PLANTS || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LEAVES) && defined(ENABLE_TRANSLUCENT_FOLIAGE)
  959. 2025-11-15 07:39:46: WARNING[Main]: 575: // Simulate translucent foliage.
  960. 2025-11-15 07:39:46: WARNING[Main]: 576: col.rgb += 4.0 * dayLight * base.rgb * normalize(base.rgb * varColor.rgb * varColor.rgb) * f_adj_shadow_strength * pow(max(-dot(v_LightDirection, viewVec), 0.0), 4.0) * max(1.0 - shadow_uncorrected, 0.0);
  961. 2025-11-15 07:39:46: WARNING[Main]: 577: #endif
  962. 2025-11-15 07:39:46: WARNING[Main]: 578: }
  963. 2025-11-15 07:39:46: WARNING[Main]: 579: #endif
  964. 2025-11-15 07:39:46: WARNING[Main]: 580:
  965. 2025-11-15 07:39:46: WARNING[Main]: 581: // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
  966. 2025-11-15 07:39:46: WARNING[Main]: 582: // the fog will only be rendered correctly if the last operation before the
  967. 2025-11-15 07:39:46: WARNING[Main]: 583: // clamp() is an addition. Else, the clamp() seems to be ignored.
  968. 2025-11-15 07:39:46: WARNING[Main]: 584: // E.g. the following won't work:
  969. 2025-11-15 07:39:46: WARNING[Main]: 585: // float clarity = clamp(fogShadingParameter
  970. 2025-11-15 07:39:46: WARNING[Main]: 586: // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
  971. 2025-11-15 07:39:46: WARNING[Main]: 587: // As additions usually come for free following a multiplication, the new formula
  972. 2025-11-15 07:39:46: WARNING[Main]: 588: // should be more efficient as well.
  973. 2025-11-15 07:39:46: WARNING[Main]: 589: // Note: clarity = (1 - fogginess)
  974. 2025-11-15 07:39:46: WARNING[Main]: 590: float clarity = clamp(fogShadingParameter
  975. 2025-11-15 07:39:46: WARNING[Main]: 591: - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
  976. 2025-11-15 07:39:46: WARNING[Main]: 592: float fogColorMax = max(max(fogColor.r, fogColor.g), fogColor.b);
  977. 2025-11-15 07:39:46: WARNING[Main]: 593: // Prevent zero division.
  978. 2025-11-15 07:39:46: WARNING[Main]: 594: if (fogColorMax < 0.0000001) fogColorMax = 1.0;
  979. 2025-11-15 07:39:46: WARNING[Main]: 595: // For high clarity (light fog) we tint the fog color.
  980. 2025-11-15 07:39:46: WARNING[Main]: 596: // For this to not make the fog color artificially dark we need to normalize using the
  981. 2025-11-15 07:39:46: WARNING[Main]: 597: // fog color's brightest value. We then blend our base color with this to make the fog.
  982. 2025-11-15 07:39:46: WARNING[Main]: 598: col = mix(fogColor * pow(fogColor / fogColorMax, vec4(2.0 * clarity)), col, clarity);
  983. 2025-11-15 07:39:46: WARNING[Main]: 599: col = vec4(col.rgb, base.a);
  984. 2025-11-15 07:39:46: WARNING[Main]: 600:
  985. 2025-11-15 07:39:46: WARNING[Main]: 601: gl_FragColor = col;
  986. 2025-11-15 07:39:46: WARNING[Main]: 602: }
  987. 2025-11-15 07:39:46: WARNING[Main]: 603:
  988. 2025-11-15 07:39:46: WARNING[Main]: End of fragment shader program.
  989. 2025-11-15 07:39:46: WARNING[Main]:
  990. 2025-11-15 07:39:46: ERROR[Main]: Failed to compile the "nodes_shader MATERIAL_TYPE=6 USE_ARRAY_TEXTURE=1" shader.
  991. 2025-11-15 07:39:46: ERROR[Main]: Check debug.txt for details.
  992. 2025-11-15 07:39:46: ACTION[ServerStop]: Server: Shutting down
  993.  
Advertisement
Add Comment
Please, Sign In to add comment