summaryrefslogtreecommitdiffstats
path: root/Studio/Content/Effect Library/VignetteEffect.effect
diff options
context:
space:
mode:
Diffstat (limited to 'Studio/Content/Effect Library/VignetteEffect.effect')
-rw-r--r--Studio/Content/Effect Library/VignetteEffect.effect39
1 files changed, 39 insertions, 0 deletions
diff --git a/Studio/Content/Effect Library/VignetteEffect.effect b/Studio/Content/Effect Library/VignetteEffect.effect
new file mode 100644
index 0000000..7fbf7db
--- /dev/null
+++ b/Studio/Content/Effect Library/VignetteEffect.effect
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Effect>
+ <MetaData>
+ <Property name="vig_color" formalName="Vignet Color" type="Color" default="0.5 0.5 0.5" description="The color to use for the Vignetting."/>
+ <Property name="vig_strength" formalName="Strength" min="0" max="15" default="15.0" description="Strength of Vignetting."/>
+ <Property name="vig_radius" formalName="Radius" min="0" max="5" default="0.35" description="Size of Vignetting."/>
+ </MetaData>
+ <Shaders>
+ <Shared></Shared>
+ <VertexShaderShared></VertexShaderShared>
+ <FragmentShaderShared></FragmentShaderShared>
+ <Shader name="main">
+ <VertexShader></VertexShader>
+ <FragmentShader><![CDATA[
+
+void frag()
+{
+ vec4 origColor = texture2D_0(TexCoord);
+ vec2 uv = TexCoord.xy;
+ vec2 center = vec2(0.5);
+
+ vec4 bg = origColor;
+
+ uv *= 1.0 - uv.yx;
+ float vig = uv.x * uv.y * vig_strength;
+ vig = pow(vig, vig_radius);
+
+ vec4 vigColor = vec4(vig_color.rgb, vig) * vig;
+ gl_FragColor = mix(origColor, vigColor, 1.0 - vig);
+}
+ ]]></FragmentShader>
+ </Shader>
+ </Shaders>
+ <Passes>
+ <Pass shader="main" input="[source]" output="[dest]"/>
+ </Passes>
+</Effect>
+
+