Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //icon=MATERIAL
- uniform sampler2D bgl_RenderedTexture;
- uniform vec2 bgl_TextureCoordinateOffset[9];
- void main(void)
- {
- vec4 samples[9];
- for (int i = 0; i < 9; i++)
- {
- samples[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
- vec4 horizEdge = samples[2] + (2.0*samples[5]) + samples[8] -
- (samples[0] + (2.0*samples[3]) + samples[6]);
- vec4 vertEdge = samples[0] + (2.0*samples[1]) + samples[2] -
- (samples[6] + (2.0*samples[7]) + samples[8]);
- vec3 sobel = sqrt((horizEdge.rgb * horizEdge.rgb) +
- (vertEdge.rgb * vertEdge.rgb));
- vec3 outliner = vec3(1);
- if (length(sobel) > 0.8){
- outliner = vec3(0);
- }
- gl_FragColor.xyz = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st).xyz;
- gl_FragColor.xyz *= outliner;
- gl_FragColor.a = 1.0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement