Skip to content

Latest commit

 

History

History
412 lines (330 loc) · 7.85 KB

File metadata and controls

412 lines (330 loc) · 7.85 KB

A list of Nodes (planned and implemented) for Fabric.

image

Material

image
  • 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)

Geometry

image
  • 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

Object

image
  • Mesh
  • Instanced Mesh
  • 3D Model Loader
  • Orthographic Camera
  • Perspective Camera
  • Directional Light
  • Point Light
  • Spot Light

Macro Patches

  • 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 Processing

image

Loading

  • Image Provider
  • Video Provider (AVFoundation)
  • Camera Provider (AVFoundation)

Generator

  • FBM Noise
  • Voronoise

Color Adjust

  • 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 Effect

  • Color LUT
  • Invert
  • Duo Tone
  • False Color

Color Space

  • CMYK <-> RGB
  • HSV <-> RGB
  • LAB <-> RGB
  • YIQ <-> RGB
  • YPbPr <-> RGB
  • YUV <-> RGB
  • XYZ <-> RGB
  • XYZ <-> LAB

Color Tone Mapping

HDR -> SDR conversion

  • Aces
  • Filmic
  • Reinhard
  • Reinhard Jodie
  • Uncharted
  • Uncharted 2

Film Emulation

  • Grain
  • Light Leak
  • Technicolor 1
  • Technicolor 2
  • Technicolor 3
  • Technicolor 3w
  • Vignetting
  • White Diffusion

Lens

  • Lens Distortion
  • Chromatic Aberration
  • Prism / Kaliedoscope

Mixing

  • 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

Compositing

  • Porter Duff compositing
    • Atop
    • In
    • Out
    • Over
    • Xor

Masking

  • Image to Mask
  • Foreground Mask (ML)
  • Person Mask (ML)

Tiling

  • Lygia Tiling Ops
  • Kaleidoscope
  • Mirror

Decimation

  • Threshold
  • Dither
  • Pixelate
  • CMYK Half Tone
  • Cross Hatch

Distortion

  • Warp
  • Bump
  • Displacement
  • Displacement w Mask
  • Pinch
  • Dent
  • Twirl
  • Wobble

Blur

  • Gaussian (Kawase)
  • Directional (Motion)
  • Depth of Field
  • Bloom
  • Gloom
  • Variable Versions of above

Morphology

  • Sharpen
  • Unsharpen
  • Sobel
  • Dilate
  • Erode
  • Open
  • Close

Analysis

  • 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? )

ML / AI

  • Local LLM (on-device language model)
  • Vision Language Model (on-device VLM)

Info

  • Image Dimensions
  • Image Crop
  • Image Resize (Linear / Bilinear / Lancos)
  • Image Pixel to Color (sample at XY -> XYZ)

Parameters

Boolean

  • True
  • False
  • Logic Operator
  • Signal

Index

Have yet to work on Index (integer only) numeric nodes

Number

  • 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)

Vector

  • 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)

Color

Have yet to work on Color nodes, ideally all color spaces / images are linear / aces linear internally, we'll see!

Quaternion

  • Make Quaternion

Transform (Float4x4 Matrix)

  • Identity Transform
  • Rotate Transform
  • Scale Transform
  • Translate Transform
  • Transpose Transform
  • Invert Transform
  • Decompose Transform
  • Geometry to Transform Array

String

  • 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

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

Signaling Nodes

  • Sample and Hold
  • Pulse
  • Signal
  • Timeline (Multi-track keyframe animation with bezier interpolation)

Other Nodes

I / O

  • 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)

Info Nodes

  • Rendering Destination Dimensions
  • Units to Pixels
  • Pixels to Units
  • Mesh Hit Test
  • Frame Rate
  • Frame Counter
  • Log