19 lines
656 B
Text
19 lines
656 B
Text
|
#version 450 core
|
||
|
|
||
|
layout( location = 0 ) uniform sampler2D u_InputTexture;
|
||
|
layout( location = 1 ) uniform vec2 u_OutputSize;
|
||
|
layout( location = 2 ) uniform int u_SourceLOD;
|
||
|
|
||
|
layout( location = 0 ) out vec3 color;
|
||
|
|
||
|
void main( void )
|
||
|
{
|
||
|
const vec2 c = gl_FragCoord.xy;
|
||
|
color = ( .25 * (
|
||
|
textureLod( u_InputTexture , ( c + vec2( .5 , .5 ) ) / u_OutputSize , u_SourceLOD )
|
||
|
+ textureLod( u_InputTexture , ( c + vec2(-.5 , .5 ) ) / u_OutputSize , u_SourceLOD )
|
||
|
+ textureLod( u_InputTexture , ( c + vec2( .5 ,-.5 ) ) / u_OutputSize , u_SourceLOD )
|
||
|
+ textureLod( u_InputTexture , ( c + vec2(-.5 ,-.5 ) ) / u_OutputSize , u_SourceLOD )
|
||
|
) ).rgb;
|
||
|
}
|