A list of Nodes (planned and implemented) for Fabric.
- Basic Color (no lighting)
- Basic Diffuse (lighting)
- Basic Texture (no lighting)
- Standard (Physical Based Rendering)
- PBR (Advanced Physical Based Rendering)
- Depth (Visualize Depth)
- UV (Visual texture coordinates)
- Skybox (HDRI Environment Map)
- Displace (Luminosity / RGB Based Displacement shader)
- Line
- Plane
- Image Mesh
- Point Plane (Temp until #15 is fixed)
- Rounded Rect
- Triangle
- Circle
- Arc
- Cone
- Box
- Rounded Box
- Squircle
- Capsule
- IcoSphere
- Octasphere
- Sphere
- Tube
- Torus
- Tesselated Text
- Extruded Text
- Supershape
- Skybox
- Geometry from 2D PolyLine (needs better Triangulation)
- Parametric
- Mesh
- Instanced Mesh
- 3D Model Loader
- Orthographic Camera
- Perspective Camera
- Directional Light
- Point Light
- Spot Light
- Sub Graph
- Render in Image with Depth (Outputs Image / Depth Image)
- Environment (Image Based Lighting)
- Environment Skybox (used within Env Node)
- Iterator Node
- Iterator Info (used within Iterator)
- Replicate in Space
- Replicate in Time
- Image Provider
- Video Provider (AVFoundation)
- Camera Provider (AVFoundation)
- FBM Noise
- Voronoise
- Brightness / Contrast / Saturation
- Hue
- Color Polynomial
- White Balance
- Vibrance
- Levels
- Gamma
- RGB Linear to SRGB
- sRGB to RGB Linear
- Exposure
- Channel Mixer
- Channel Combine
- Color LUT
- Invert
- Duo Tone
- False Color
- CMYK <-> RGB
- HSV <-> RGB
- LAB <-> RGB
- YIQ <-> RGB
- YPbPr <-> RGB
- YUV <-> RGB
- XYZ <-> RGB
- XYZ <-> LAB
HDR -> SDR conversion
- Aces
- Filmic
- Reinhard
- Reinhard Jodie
- Uncharted
- Uncharted 2
- Grain
- Light Leak
- Technicolor 1
- Technicolor 2
- Technicolor 3
- Technicolor 3w
- Vignetting
- White Diffusion
- Lens Distortion
- Chromatic Aberration
- Prism / Kaliedoscope
-
Standard Mixing Modes
- Additive
- Average
- Color Burn
- Color Dodge
- Color
- Darken
- Difference
- Exclusion
- Glow
- Hard Light
- Hard Mix
- Hue
- Lighten
- Linear Burn
- Linear Dodge
- Linear Light
- Luminosity
- MixTemplate.msl
- Multiply
- Negation
- Overlay
- Phoenix
- Pin Light
- Reflect
- Saturation
- Screen
- Soft Light
- Source Over
- Subtract
- Vivid Light
-
Mix modes with Masking
- Porter Duff compositing
- Atop
- In
- Out
- Over
- Xor
- Image to Mask
- Foreground Mask (ML)
- Person Mask (ML)
- Lygia Tiling Ops
- Kaleidoscope
- Mirror
- Threshold
- Dither
- Pixelate
- CMYK Half Tone
- Cross Hatch
- Warp
- Bump
- Displacement
- Displacement w Mask
- Pinch
- Dent
- Twirl
- Wobble
- Gaussian (Kawase)
- Directional (Motion)
- Depth of Field
- Bloom
- Gloom
- Variable Versions of above
- Sharpen
- Unsharpen
- Sobel
- Dilate
- Erode
- Open
- Close
- Marching Squares Contour (needs better stability at edges)
- Blob Detection (requires nested array support)
- Segmentation
- Tracking
- Classification
- Face Pose Analysis / Landmark
- Hand Pose Detection / Landmark
- Body Pose Detection / Landmark
- Depth Map Prediction
- Metal FX 2x Upsampler (ML based)
- FXAA Antialiasing
- Keypoint Distort
- Image Embedding Vector( via fast Clip like model or Vision Feature Print? whats most useful - careful do we want to stray into comfy ui bullshit? )
- Local LLM (on-device language model)
- Vision Language Model (on-device VLM)
- Image Dimensions
- Image Crop
- Image Resize (Linear / Bilinear / Lancos)
- Image Pixel to Color (sample at XY -> XYZ)
- True
- False
- Logic Operator
- Signal
Have yet to work on Index (integer only) numeric nodes
- Number
- Current Time (AKA Patch Time)
- System Time
- Timestamp
- Integrator (accrues every frame for now)
- Derivator
- Single Operator Math
- Binary Operator Math
- Gradient Noise (FBM)
- Remap
- Tween / Easing
- Clamp
- Round
- Counter
- LFO
- Smooth (Kalman or 1 Euro Filter?)
- Math Expression
- Number Logic (Comparison)
- Make Vec 2
- Make Vec 3
- Make Vec 4
- Vec 2 to Float
- Vec 3 to Float
- Vec 4 to Float
- Vector 2 Distance
- Vector 3 Distance
- Vector 4 Distance
- Vector Ops (Cross / Dot / etc)
Have yet to work on Color nodes, ideally all color spaces / images are linear / aces linear internally, we'll see!
- Make Quaternion
- Identity Transform
- Rotate Transform
- Scale Transform
- Translate Transform
- Transpose Transform
- Invert Transform
- Decompose Transform
- Geometry to Transform Array
- String Loader (Text file loader)
- String Components
- String Length
- String Range
- String Case
- String Formatter
- String Scanner
- String Join
- String Wrap
- String Remove Whitespace
- String Difference
- String Split
- String Compare
- Convert to String ( type convert )
- Timestamp Formatter
- Directory Scanner
- String to Timecode Format
Array nodes are implemented as Swift Generics, and can work with any of the above types
- Queue
- Array Count
- First Item
- Last Item
- Item at Index
- Replace Item At Index
- Poly Line Simplification ( Simplification of Array of Vector 2 Points via Ramer–Douglas–Peucker algo)
- Multiplexer
- Demultiplexer
- Sort (? what does this mean for some types ?)
- Reverse
- Range / Slice
- Sample and Hold
- Pulse
- Signal
- Timeline (Multi-track keyframe animation with bezier interpolation)
- Audio Input Spectrum
- Keyboard
- Mouse / Touch / Cursor (macOS)
- OSC Input (OSCKit)
- OSC Output
- MIDI Input (MIDIKit, learn mode)
- MIDI Output
- HID Input (IOKit)
- Game Controller Input (GameController.framework)
- HID Output
- NDI Input
- NDI Output
- Syphon Input
- Syphon Output
- Artnet Input
- Artnet Output
- Depth Camera Input (Orbec / Kinect)
- Rendering Destination Dimensions
- Units to Pixels
- Pixels to Units
- Mesh Hit Test
- Frame Rate
- Frame Counter
- Log