28 lines
		
	
	
		
			642 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			642 B
		
	
	
	
		
			Plaintext
		
	
	
	
const mat4 ditherMatrix = mat4(
 | 
						|
	vec4(0.0625, 0.5625, 0.1875,  0.6875),
 | 
						|
	vec4(0.8125, 0.3125, 0.9375,  0.4375),
 | 
						|
	vec4(0.25, 0.75, 0.125, 0.625),
 | 
						|
	vec4(1.0, 0.5, 0.875,  0.375));
 | 
						|
 | 
						|
 | 
						|
float dither( float alpha, vec2 pos )
 | 
						|
{
 | 
						|
  int x = int( pos.x ) % 4;
 | 
						|
  int y = int( pos.y ) % 4;
 | 
						|
  
 | 
						|
  float res = 0.0;
 | 
						|
  vec4 temp;
 | 
						|
 | 
						|
  if (x == 0) {temp = ditherMatrix[0];} 
 | 
						|
  else if (x == 1) temp = ditherMatrix[1];
 | 
						|
  else if (x == 2) temp = ditherMatrix[2];
 | 
						|
  else if (x == 3) temp = ditherMatrix[3];
 | 
						|
  
 | 
						|
  
 | 
						|
  if (y == 0) {res = temp[0];} 
 | 
						|
  else if (y == 1) res = temp[1];
 | 
						|
  else if (y == 2) res = temp[2];
 | 
						|
  else if (y == 3) res = temp[3];
 | 
						|
    
 | 
						|
  return res;
 | 
						|
} |