{ "revision": 0, "last_node_id": 29, "last_link_id": 0, "nodes": [ { "id": 29, "type": "4c9d6ea4-b912-40e5-8766-6793a9758c53", "pos": [ 1970, -230 ], "size": [ 180, 86 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "label": "image", "localized_name": "images.image0", "name": "images.image0", "type": "IMAGE", "link": null } ], "outputs": [ { "label": "R", "localized_name": "IMAGE0", "name": "IMAGE0", "type": "IMAGE", "links": [] }, { "label": "G", "localized_name": "IMAGE1", "name": "IMAGE1", "type": "IMAGE", "links": [] }, { "label": "B", "localized_name": "IMAGE2", "name": "IMAGE2", "type": "IMAGE", "links": [] }, { "label": "A", "localized_name": "IMAGE3", "name": "IMAGE3", "type": "IMAGE", "links": [] } ], "title": "Image Channels", "properties": { "proxyWidgets": [] }, "widgets_values": [] } ], "links": [], "version": 0.4, "definitions": { "subgraphs": [ { "id": "4c9d6ea4-b912-40e5-8766-6793a9758c53", "version": 1, "state": { "lastGroupId": 0, "lastNodeId": 28, "lastLinkId": 39, "lastRerouteId": 0 }, "revision": 0, "config": {}, "name": "Image Channels", "inputNode": { "id": -10, "bounding": [ 1820, -185, 120, 60 ] }, "outputNode": { "id": -20, "bounding": [ 2460, -215, 120, 120 ] }, "inputs": [ { "id": "3522932b-2d86-4a1f-a02a-cb29f3a9d7fe", "name": "images.image0", "type": "IMAGE", "linkIds": [ 39 ], "localized_name": "images.image0", "label": "image", "pos": [ 1920, -165 ] } ], "outputs": [ { "id": "605cb9c3-b065-4d9b-81d2-3ec331889b2b", "name": "IMAGE0", "type": "IMAGE", "linkIds": [ 26 ], "localized_name": "IMAGE0", "label": "R", "pos": [ 2480, -195 ] }, { "id": "fb44a77e-0522-43e9-9527-82e7465b3596", "name": "IMAGE1", "type": "IMAGE", "linkIds": [ 27 ], "localized_name": "IMAGE1", "label": "G", "pos": [ 2480, -175 ] }, { "id": "81460ee6-0131-402a-874f-6bf3001fc4ff", "name": "IMAGE2", "type": "IMAGE", "linkIds": [ 28 ], "localized_name": "IMAGE2", "label": "B", "pos": [ 2480, -155 ] }, { "id": "ae690246-80d4-4951-b1d9-9306d8a77417", "name": "IMAGE3", "type": "IMAGE", "linkIds": [ 29 ], "localized_name": "IMAGE3", "label": "A", "pos": [ 2480, -135 ] } ], "widgets": [], "nodes": [ { "id": 23, "type": "GLSLShader", "pos": [ 2000, -330 ], "size": [ 400, 172 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "label": "image", "localized_name": "images.image0", "name": "images.image0", "type": "IMAGE", "link": 39 }, { "localized_name": "fragment_shader", "name": "fragment_shader", "type": "STRING", "widget": { "name": "fragment_shader" }, "link": null }, { "localized_name": "size_mode", "name": "size_mode", "type": "COMFY_DYNAMICCOMBO_V3", "widget": { "name": "size_mode" }, "link": null }, { "label": "image1", "localized_name": "images.image1", "name": "images.image1", "shape": 7, "type": "IMAGE", "link": null } ], "outputs": [ { "label": "R", "localized_name": "IMAGE0", "name": "IMAGE0", "type": "IMAGE", "links": [ 26 ] }, { "label": "G", "localized_name": "IMAGE1", "name": "IMAGE1", "type": "IMAGE", "links": [ 27 ] }, { "label": "B", "localized_name": "IMAGE2", "name": "IMAGE2", "type": "IMAGE", "links": [ 28 ] }, { "label": "A", "localized_name": "IMAGE3", "name": "IMAGE3", "type": "IMAGE", "links": [ 29 ] } ], "properties": { "Node name for S&R": "GLSLShader" }, "widgets_values": [ "#version 300 es\nprecision highp float;\n\nuniform sampler2D u_image0;\n\nin vec2 v_texCoord;\nlayout(location = 0) out vec4 fragColor0;\nlayout(location = 1) out vec4 fragColor1;\nlayout(location = 2) out vec4 fragColor2;\nlayout(location = 3) out vec4 fragColor3;\n\nvoid main() {\n vec4 color = texture(u_image0, v_texCoord);\n // Output each channel as grayscale to separate render targets\n fragColor0 = vec4(vec3(color.r), 1.0); // Red channel\n fragColor1 = vec4(vec3(color.g), 1.0); // Green channel\n fragColor2 = vec4(vec3(color.b), 1.0); // Blue channel\n fragColor3 = vec4(vec3(color.a), 1.0); // Alpha channel\n}\n", "from_input" ] } ], "groups": [], "links": [ { "id": 39, "origin_id": -10, "origin_slot": 0, "target_id": 23, "target_slot": 0, "type": "IMAGE" }, { "id": 26, "origin_id": 23, "origin_slot": 0, "target_id": -20, "target_slot": 0, "type": "IMAGE" }, { "id": 27, "origin_id": 23, "origin_slot": 1, "target_id": -20, "target_slot": 1, "type": "IMAGE" }, { "id": 28, "origin_id": 23, "origin_slot": 2, "target_id": -20, "target_slot": 2, "type": "IMAGE" }, { "id": 29, "origin_id": 23, "origin_slot": 3, "target_id": -20, "target_slot": 3, "type": "IMAGE" } ], "extra": { "workflowRendererVersion": "LG" }, "category": "Image Tools/Color adjust" } ] } }