Nodes Browser
ComfyDeploy: How GLSL Nodes works in ComfyUI?
What is GLSL Nodes?
A collections of nodes to support GLSL shaders inside a workflow.
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
GLSL Nodes
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
GLSL Nodes for ComfyUI
This nodes add support for GLSL shaders on workflows, by adding the following nodes: glslEditor, glslViewer, int, float, vec2, vec3, vec4.
Here some examples:
examples/types.json
examples/depth_of_field.json
examples/edge_detection.json
examples/look_up_table.json
examples/raymarch_to_image.json
examples/raymarch_buffers.json
https://github.com/user-attachments/assets/0cfbad85-6a79-4458-bd38-37a0d83996d0
examples/video_flow.json
https://github.com/user-attachments/assets/995f541e-cb11-42ff-95ea-b4e08d010778
examples/video_mask.json
https://github.com/user-attachments/assets/1f2a230d-b703-4889-b3b5-659855444366
examples/video_dither.json
https://github.com/user-attachments/assets/1d98caf2-347b-40c1-8442-2c72bb86a940
examples/video_pixelate.json
https://github.com/user-attachments/assets/89deee89-db13-4cfa-8a96-2e82f5ff6ca2
examples/shadertoy.json
https://github.com/user-attachments/assets/c6a66d8f-34cb-4ff6-b879-ee13e9e856d0
Features:
- It the code is compatible with GlslViewer, Glsl-Pipeline and GlslCanvas by following the following specs for:
- It contain LYGIA Shader Library by resolving all
#include
directives from LYGIA's Server
Roadmap
- ✅ 100, 120, 130, 140, 150, 300, 330, 330 core, 400, 410, 420, 430 and 440 GLSL shaders
- ✅ Resolves dependencies to LYGIA Shader Library
- ✅ Code editor (ACE) on GlslEditorPro nodes
- ✅ produce multiple frames
- ✅ reads multiple textures and texturesArrays
- ✅ multiple float, vec2, vec3, vec4 uniforms
- ✅ Dynamic inputs for uniforms
- ✅ Uniforms node for efficiency by caching textures and texturesArrays together with the GL context
- ✅ basic GLSL type nodes:
int
,float
,vec2
,vec3
andvec4
- ✅ 2D position node widget
- ✅ 3D position node widget
- ✅ Color Picker node widget
- ✅ multiple buffers (
#ifdef BUFFER_X
) - ✅ multiple double uniforms (
#ifdef DOUBLEBUFFER_X
) - ⬜ multiple pyramids (
#ifdef PYRAMID_X
) - ✅ OPTICAL_FLOW textures
- ✅ MASK textures (create SDF on other channels)
- ⬜ loading 3D geometry
- ⬜ Vertex Shaders
- ⬜ CubeMaps (Auto detect equirectangular, cross, etc)
- ⬜ BACKGROUND pass (
#ifdef BACKGROUND
) - ⬜ POSTPROCESSING pass (
#ifdef POSTPROCESSING
) - ⬜ SCENE pass (
#ifdef SCENE
) that exposesu_scene
andu_sceneDepth