Advertisement
Guest User

inkFragment.glsl

a guest
Mar 25th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 330 core
  2.  
  3. in vec3 pos;
  4. in vec2 texCoord;
  5. in vec3 color;
  6. in vec3 transformedPos;
  7.  
  8. out vec4 FragColor;
  9.  
  10. uniform sampler2D tex;
  11. uniform sampler2D tex2;
  12. uniform vec3 team1Color;
  13. uniform vec3 team2Color;
  14. uniform float fogEnabled;
  15.  
  16. vec3 permute(vec3 x) { return mod(((x*34.0)+1.0)*x, 289.0); }
  17.  
  18. float snoise(vec2 v){
  19.   const vec4 C = vec4(0.211324865405187, 0.366025403784439,
  20.            -0.577350269189626, 0.024390243902439);
  21.   vec2 i  = floor(v + dot(v, C.yy) );
  22.   vec2 x0 = v -   i + dot(i, C.xx);
  23.   vec2 i1;
  24.   i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
  25.   vec4 x12 = x0.xyxy + C.xxzz;
  26.   x12.xy -= i1;
  27.   i = mod(i, 289.0);
  28.   vec3 p = permute( permute( i.y + vec3(0.0, i1.y, 1.0 ))
  29.   + i.x + vec3(0.0, i1.x, 1.0 ));
  30.   vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy),
  31.     dot(x12.zw,x12.zw)), 0.0);
  32.   m = m*m ;
  33.   m = m*m ;
  34.   vec3 x = 2.0 * fract(p * C.www) - 1.0;
  35.   vec3 h = abs(x) - 0.5;
  36.   vec3 ox = floor(x + 0.5);
  37.   vec3 a0 = x - ox;
  38.   m *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );
  39.   vec3 g;
  40.   g.x  = a0.x  * x0.x  + h.x  * x0.y;
  41.   g.yz = a0.yz * x12.xz + h.yz * x12.yw;
  42.   return 130.0 * dot(m, g);
  43. }
  44.  
  45. void main() {
  46.     vec4 texCol1 = texture(tex, vec2(pos.x / 64, pos.z / 64));
  47.     FragColor = texCol1;
  48.  
  49.     float rnoise = 0;
  50.     float gnoise = 0;
  51.  
  52.     if(color.r > 0.01f) rnoise = snoise(pos.xz / 2) * 0.5f + color.r;
  53.     if(color.g > 0.01f) gnoise = snoise(pos.xz / 2) * 0.5f + color.g;
  54.  
  55.     if(color.r + rnoise > 0.3f){
  56.         FragColor = vec4(team1Color, 1.0f) * 0.95f + vec4(1.0f, 1.0f, 1.0f, 1.0f) * rnoise * 0.05f;
  57.     }
  58.     if(color.g + gnoise > 0.3f){
  59.         FragColor = vec4(team2Color, 1.0f) * 0.95f + vec4(1.0f, 1.0f, 1.0f, 1.0f) * gnoise * 0.05f;
  60.     }
  61.  
  62.     if(fogEnabled > 0.5f){
  63.         float fogBLEHHHH = 1.0f - (transformedPos.z / 128);
  64.         vec4 fogColThingy = vec4(fogBLEHHHH, fogBLEHHHH, fogBLEHHHH, 1.0f);
  65.         FragColor = FragColor * fogColThingy;
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement