public GLTexture Process(GLTexture InputColor, GLTexture InputDepth)
{
if (InputColor.Width == 0 || InputColor.Height == 0) throw (new Exception("Smaa can't handle empty textures"));
//if (InputColor.Width != InputDepth.Width || InputColor.Height != InputDepth.Height) throw (new Exception("Color.Size != Texture.Size"));
SetSize(InputColor.Width, InputColor.Height);
var edge_tex = edge_pass(InputColor, InputDepth);
var blend_tex = pass_blend(edge_tex);
var neighborhood_tex = pass_neighborhood(InputColor, blend_tex);
//return edge_tex;
//return blend_tex;
return neighborhood_tex;
}