{ "contexts": [ { "name": "blur_edge_pass_x", "depth_write": false, "compare_mode": "always", "cull_mode": "none", "links": [ { "name": "dirInv", "link": "_vec2xInv" } ], "texture_params": [], "vertex_shader": "../include/pass.vert.glsl", "fragment_shader": "blur_edge_pass.frag.glsl" }, { "name": "blur_edge_pass_y", "depth_write": false, "compare_mode": "always", "cull_mode": "none", "links": [ { "name": "dirInv", "link": "_vec2yInv" } ], "texture_params": [], "vertex_shader": "../include/pass.vert.glsl", "fragment_shader": "blur_edge_pass.frag.glsl" }, { "name": "blur_edge_pass_y_blend", "depth_write": false, "compare_mode": "always", "cull_mode": "none", "blend_source": "destination_color", "blend_destination": "blend_zero", "blend_operation": "add", "links": [ { "name": "dirInv", "link": "_vec2yInv" } ], "texture_params": [], "vertex_shader": "../include/pass.vert.glsl", "fragment_shader": "blur_edge_pass.frag.glsl" }, { "name": "blur_edge_pass_y_blend_add", "depth_write": false, "compare_mode": "always", "cull_mode": "none", "blend_source": "blend_one", "blend_destination": "blend_one", "blend_operation": "add", "alpha_blend_source": "blend_one", "alpha_blend_destination": "blend_one", "alpha_blend_operation": "add", "links": [ { "name": "dirInv", "link": "_vec2yInv" } ], "texture_params": [], "vertex_shader": "../include/pass.vert.glsl", "fragment_shader": "blur_edge_pass.frag.glsl" } ] }