Skip to content

patriciogonzalezvivo/comfyui_glslnodes

Repository files navigation

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

2024-08-11.13-28-33.mp4

examples/video_flow.json

2024-08-04.20-51-20.mp4

examples/video_mask.json

2024-08-04.20-48-21.mp4

examples/video_dither.json

2024-08-07.07-02-27.mp4

examples/video_pixelate.json

2024-08-07.07-10-51.mp4

examples/shadertoy.json

2024-08-07.06-51-56.mp4

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