Advertisement
Lavadrgon15396

psition_tex_color.fsh

Mar 15th, 2023
756
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 150
  2.  
  3. uniform sampler2D Sampler0;
  4.  
  5. uniform vec4 ColorModulator;
  6.  
  7. in vec2 texCoord0;
  8. in vec4 vertexColor;
  9. in vec4 Pos;
  10.  
  11. out vec4 fragColor;
  12.  
  13. void main() {
  14.     vec4 color = texture(Sampler0, texCoord0) * vertexColor;
  15.     if(Pos.z == -1999)
  16.     {
  17.         vec2 texCord = abs(texCoord0);
  18.         ivec2 block = ivec2(texCord);
  19.         int variate;
  20.  
  21.         vec2 offset = vec2(0);
  22.        
  23.         //Grass
  24.         if (block.y < 1) offset = vec2(0.2);
  25.  
  26.         //Dirt/Stone
  27.         if (block.y == 3)
  28.         {
  29.             variate = ((block.x * block.x + 6) % 10) / 5;
  30.             offset = vec2(0.2 * clamp(variate, 0, 1), 0);
  31.         }
  32.  
  33.         //Stone + ores
  34.         if(block.y > 3 && block.y < 70)
  35.         {
  36.             offset = vec2(0.2, 0); //Stone
  37.  
  38.             if (int(block.y * 3 + sin(block.x * 5.1) * 2.4) % 10 == 0) offset = vec2(0.6); //Coal
  39.  
  40.             if(int(block.y * 6.5 + sin(block.x * 3.0 + 2.3) * 32.1) % 25 == 0) offset = vec2(0.4); //Copper
  41.            
  42.             if(block.y >= 6 && int(block.y * 5.5 + sin(block.x * 2.0 + 4.3) * 30.1) % 15 == 0) offset = vec2(0.4, 0.6); //Iron
  43.  
  44.             if(block.y >= 39)
  45.             {
  46.                 if(int(block.y * 8.5 + sin(block.x * 4.05 + 2.7) * 24.7) % 20 == 0) offset = vec2(0.2, 0.6); //Gold
  47.                
  48.                 if(int(block.y * 6.2 + sin(block.x * 1.05 + 2.8) * 21.7) % 30 == 0) offset = vec2(0.2, 0.4); //Lapis
  49.                
  50.                 if(block.y >= 55)
  51.                 {
  52.                     if(int(block.y * 4.5 + sin(block.x * 2.05 + 2.8) * 23.7) % 25 == 0) offset = vec2(0, 0.4); //Redstone
  53.  
  54.                     if(int(block.y * 1.5 + sin(block.x * 1.05 + 4) * 21.6) % 23 == 0) offset = vec2(0, 0.6); //Diamonds!
  55.  
  56.                     variate = ((block.x * block.x + 6 * block.y) % 10) / 5;
  57.                     if(block.y >= 68 && clamp(variate, 0, 1) == 1) offset = vec2(0.4, 0.2); //Deepslate
  58.                 }
  59.  
  60.             }
  61.            
  62.         }
  63.         if(block.y >= 70 && block.y <= 134)// offset = vec2(0.4, 0);
  64.         {
  65.             offset = vec2(0.4, 0.2); //Plain deepslate
  66.  
  67.             if(int(block.y * 5.5 + sin(block.x * 2.0 + 4.3) * 30.1) % 20 == 0) offset = vec2(0.4, 0.8); //Iron
  68.  
  69.             if(int(block.y * 8.5 + sin(block.x * 4.05 + 2.7) * 24.7) % 24 == 0) offset = vec2(0.2, 0.8); //Deepslate Gold
  70.        
  71.             if(int(block.y * 6.2 + sin(block.x * 1.05 + 2.8) * 21.7) % 35 == 0) offset = vec2(0.8); //Deepslate Lapis
  72.            
  73.             if(int(block.y * 4.5 + sin(block.x * 2.05 + 2.8) * 23.7) % 27 == 0) offset = vec2(0.8, 0.6); //Deepslate Redstone
  74.  
  75.             if(int(block.y * 1.5 + sin(block.x * 1.05 + 4) * 21.6) % 30 == 0) offset = vec2(0, 0.8); //Deepslate Diamonds
  76.  
  77.             variate = ((block.x * block.x + 6 * block.y + 5) % 10) / 5;
  78.             if(block.y >= 132 && clamp(variate, 0, 1) == 1) offset = vec2(0, 0.2); //Bedrock (How did we get here?)
  79.             if(block.y == 134) offset = vec2(0, 0.2);
  80.         }
  81.         if(block.y > 134) offset = vec2(0.4, 0);
  82.        
  83.         color = texture(Sampler0, (texCord - block) / 5.0 + offset) * vertexColor;
  84.     }
  85.    
  86.     if (color.a < 0.1) {
  87.         discard;
  88.     }
  89.     fragColor = color * ColorModulator;
  90. }
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement