diff options
| author | yuzu-eva <stevenhu@web.de> | 2024-12-16 20:59:26 +0100 |
|---|---|---|
| committer | yuzu-eva <stevenhu@web.de> | 2024-12-16 20:59:26 +0100 |
| commit | 16f9ce1f005cd2d7c482722b961358d8f209bb83 (patch) | |
| tree | 451a00f26bd29a2ba8318d96c9361c7d827df611 /shaders | |
initial commit
Diffstat (limited to 'shaders')
| -rw-r--r-- | shaders/circles.fs | 27 | ||||
| -rw-r--r-- | shaders/smear.fs | 27 |
2 files changed, 54 insertions, 0 deletions
diff --git a/shaders/circles.fs b/shaders/circles.fs new file mode 100644 index 0000000..5d504d8 --- /dev/null +++ b/shaders/circles.fs @@ -0,0 +1,27 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + float radius = 0.1; + vec2 distance_from_center = fragTexCoord - vec2(0.5); +// s <= 0 -> inside circle +// s > 0 -> outside circle + if (length(distance_from_center) <= 0.5) { + float s = length(distance_from_center) - radius; + if (s <= 0) { + finalColor = fragColor*1.5; + } else { + float t = 1 - s / (0.5 - radius); + finalColor = vec4(fragColor.xyz, t*t); + } + } else { + finalColor = vec4(0); + } +} diff --git a/shaders/smear.fs b/shaders/smear.fs new file mode 100644 index 0000000..0f7c316 --- /dev/null +++ b/shaders/smear.fs @@ -0,0 +1,27 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Output fragment color +out vec4 finalColor; + +void main() +{ + float radius = 0.25; + vec2 distance_from_center = fragTexCoord - vec2(0.5); +// s <= 0 -> inside circle +// s > 0 -> outside circle + if (length(distance_from_center) <= 0.5) { + float s = length(distance_from_center) - radius; + if (s <= 0) { + finalColor = fragColor*1.25; + } else { + float t = 1 - (s / (0.5 - radius)); + finalColor = vec4(fragColor.xyz, t); + } + } else { + finalColor = vec4(0); + } +} |
