diff options
Diffstat (limited to 'src/quick/scenegraph/shaders/outlinedtext_core.frag')
-rw-r--r-- | src/quick/scenegraph/shaders/outlinedtext_core.frag | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/quick/scenegraph/shaders/outlinedtext_core.frag b/src/quick/scenegraph/shaders/outlinedtext_core.frag new file mode 100644 index 0000000000..e19c8937f9 --- /dev/null +++ b/src/quick/scenegraph/shaders/outlinedtext_core.frag @@ -0,0 +1,25 @@ +#version 150 core + +in vec2 sampleCoord; +in vec2 sCoordUp; +in vec2 sCoordDown; +in vec2 sCoordLeft; +in vec2 sCoordRight; + +out vec4 fragColor; + +uniform sampler2D _qt_texture; +uniform vec4 color; +uniform vec4 styleColor; + +void main() +{ + float glyph = texture(_qt_texture, sampleCoord).r; + float outline = clamp(clamp(texture(_qt_texture, sCoordUp).r + + texture(_qt_texture, sCoordDown).r + + texture(_qt_texture, sCoordLeft).r + + texture(_qt_texture, sCoordRight).r, + 0.0, 1.0) - glyph, + 0.0, 1.0); + fragColor = outline * styleColor + glyph * color; +}
\ No newline at end of file |