diff options
Diffstat (limited to 'Studio/Content/Effect Library/Emboss.effect')
-rw-r--r-- | Studio/Content/Effect Library/Emboss.effect | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Studio/Content/Effect Library/Emboss.effect b/Studio/Content/Effect Library/Emboss.effect new file mode 100644 index 0000000..876db3a --- /dev/null +++ b/Studio/Content/Effect Library/Emboss.effect @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<Effect> + <MetaData> + <Property name="amount" formalName="Amount" min="0" max="0.01" default="0.003" description="Amount"/> + </MetaData> + <Shaders> + <Shared></Shared> + <VertexShaderShared></VertexShaderShared> + <FragmentShaderShared></FragmentShaderShared> + <Shader name="main"> + <VertexShader></VertexShader> + <FragmentShader><![CDATA[ + +void frag() +{ + vec4 origColor = texture2D_0(TexCoord); + + float step_w = amount; + float step_h = amount; + + vec4 t1 = texture2D_0(vec2(TexCoord.x - step_w, TexCoord.y - step_h)); + vec4 t2 = texture2D_0(vec2(TexCoord.x, TexCoord.y - step_h)); + vec4 t3 = texture2D_0(vec2(TexCoord.x - step_w, TexCoord.y)); + vec4 t4 = texture2D_0(TexCoord); + + vec3 rr = -4.0 * t1.rgb - 4.0 * t2.rgb - 4.0 * t3.rgb + 12.0 * t4.rgb; + float y = (rr.r + rr.g + rr.b) / 3.0; + + vec4 result = vec4(vec3(y, y, y) + 0.3, origColor.a); + + gl_FragColor = result; +} + ]]></FragmentShader> + </Shader> + </Shaders> + <Passes> + <Pass shader="main" input="[source]" output="[dest]"/> + </Passes> +</Effect> + + |