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

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for GLSL Nodes and select it
  5. 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 types

examples/depth_of_field.json depth_of_field

examples/edge_detection.json edge_detection

examples/look_up_table.json look_up_table

examples/raymarch_to_image.json raymarch_to_image

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:

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 and vec4
  • ✅ 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 exposes u_scene and u_sceneDepth