From 0fdd3ecdfe5fd6ccbbb7c7f90c80a14a49d99c4b Mon Sep 17 00:00:00 2001 From: Tijmen Wildervanck Date: Mon, 1 Jun 2015 16:58:25 +0200 Subject: [PATCH] add shaders for anaglyph Amber-Blue and Green-Magenta --- .../Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl | 17 +++++++++++++++++ .../Anaglyph/dubois-LCD-Green-Magenta.glsl | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl create mode 100644 Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl diff --git a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl new file mode 100644 index 0000000000..315cfb95ad --- /dev/null +++ b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Amber-Blue.glsl @@ -0,0 +1,17 @@ +// Anaglyph Amber-Blue shader based on Dubois algorithm +// Constants taken from the screenshot: +// "https://www.flickr.com/photos/e_dubois/5230654930/" +// Eric Dubois + +void main() +{ + float4 c0 = SampleLayer(0); + float4 c1 = SampleLayer(1); + mat3 l = mat3( 1.062,-0.205, 0.299, + -0.026, 0.908, 0.068, + -0.038,-0.173, 0.022); + mat3 r = mat3(-0.016,-0.123,-0.017, + 0.006, 0.062, 0.017, + -0.094,-0.185, 0.991); + SetOutput(float4(c0.rgb * l + c1.rgb * r, c0.a)); +} diff --git a/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl new file mode 100644 index 0000000000..4c80813894 --- /dev/null +++ b/Data/Sys/Shaders/Anaglyph/dubois-LCD-Green-Magenta.glsl @@ -0,0 +1,17 @@ +// Anaglyph Green-Magenta shader based on Dubois algorithm +// Constants taken from the screenshot: +// "https://www.flickr.com/photos/e_dubois/5132528166/" +// Eric Dubois + +void main() +{ + float4 c0 = SampleLayer(0); + float4 c1 = SampleLayer(1); + mat3 l = mat3(-0.062,-0.158,-0.039, + 0.284, 0.668, 0.143, + -0.015,-0.027, 0.021); + mat3 r = mat3( 0.529, 0.705, 0.024, + -0.016,-0.015, 0.065, + 0.009, 0.075, 0.937); + SetOutput(float4(c0.rgb * l + c1.rgb * r, c0.a)); +}