Emmanuel BENOîT
68d01ca42e
Shaders are no longer found under /shaders in the project; they can be anywhere. In addition, paths for both (program) instructions in the script and include directives in shader source code are relative to the file which contains them.
44 lines
1.2 KiB
GLSL
44 lines
1.2 KiB
GLSL
#version 450 core
|
|
|
|
//! type fragment
|
|
|
|
#define FXAA_PC 1
|
|
#define FXAA_GLSL_130 1
|
|
#define FXAA_FAST_PIXEL_OFFSET 1
|
|
#define FXAA_GATHER4_ALPHA 1
|
|
#define FXAA_QUALITY__PRESET 39
|
|
|
|
//! include fxaa-3.11.glsl
|
|
|
|
layout( location = 0 ) uniform sampler2D u_Input;
|
|
layout( location = 1 ) uniform vec4 u_Viewport;
|
|
layout( location = 2 ) uniform vec3 u_Parameters;
|
|
|
|
#define uSPQuality (u_Parameters.x)
|
|
#define uEdgeThreshold (u_Parameters.y)
|
|
#define uEdgeThresholdMin (u_Parameters.z)
|
|
|
|
layout( location = 0 ) out vec4 o_Color;
|
|
|
|
void main( void )
|
|
{
|
|
vec2 coords = gl_FragCoord.xy - u_Viewport.xy;
|
|
o_Color = FxaaPixelShader(
|
|
( coords / u_Viewport.zw ) , // pos (vec2)
|
|
vec4( 0 ) , // unused (vec4)
|
|
u_Input , // input texture
|
|
u_Input , // (unused) input texture
|
|
u_Input , // (unused) input texture
|
|
vec2( 1 ) / u_Viewport.zw , // 1/resolution (vec2)
|
|
vec4( 0 ) , // unused (vec4)
|
|
vec4( 0 ) , // unused (vec4)
|
|
vec4( 0 ) , // unused (vec4)
|
|
uSPQuality , // sub-pixel quality (float in [0;1])
|
|
uEdgeThreshold , // edge threshold (float, [.063;.333], lower = better)
|
|
uEdgeThresholdMin , // edge threshold min (float, [0.0312;0.0833],
|
|
// higher = better)
|
|
0 , // unused (float)
|
|
0 , // unused (float)
|
|
0 , // unused (float)
|
|
vec4( 0 ) ); // unused (vec4)
|
|
}
|