35 lines
		
	
	
		
			761 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			761 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
 | 
						|
/* Keep these in sync with GPU_shader.h */
 | 
						|
#define INTERLACE_ROW                      0
 | 
						|
#define INTERLACE_COLUMN                   1
 | 
						|
#define INTERLACE_CHECKERBOARD             2
 | 
						|
 | 
						|
in vec2 texCoord_interp;
 | 
						|
out vec4 fragColor;
 | 
						|
 | 
						|
uniform int interlace_id;
 | 
						|
uniform sampler2D image_a;
 | 
						|
uniform sampler2D image_b;
 | 
						|
 | 
						|
bool interlace()
 | 
						|
{
 | 
						|
	if (interlace_id == INTERLACE_CHECKERBOARD) {
 | 
						|
		return (int(gl_FragCoord.x + gl_FragCoord.y) & 1) != 0;
 | 
						|
	}
 | 
						|
	else if (interlace_id == INTERLACE_ROW) {
 | 
						|
		return (int(gl_FragCoord.y) & 1) != 0;
 | 
						|
	}
 | 
						|
	else if (interlace_id == INTERLACE_COLUMN) {
 | 
						|
		return (int(gl_FragCoord.x) & 1) != 0;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
	if (interlace()) {
 | 
						|
		fragColor = texture(image_a, texCoord_interp);
 | 
						|
	} else {
 | 
						|
		fragColor = texture(image_b, texCoord_interp);
 | 
						|
	}
 | 
						|
}
 |