Documentation
📋 Table of Contents
What is DeltaSketch? — TL;DR
DeltaSketch is a real-time visual processing application for Windows that transforms any camera, webcam, video file, or image into creative output through configurable effect pipelines. You can:
- Capture stop-motion animations frame by frame from any camera input with live preview
- Create time-lapse videos at configurable intervals with automatic frame capture
- Apply GPU-accelerated effects — kaleidoscope, oil painting, warp, infinity mirror, and custom GLSL compute shaders
- Generate GIFs from captured frame sequences with one-click export
- Trace real-world subjects using camera overlay with adjustable opacity
- Export as image sequences (PNG) or video (AVI/WEBM via FFmpeg)
All features are available during a 14-day free trial. Requires Windows 10/11 and OpenGL 3.3 (4.3 recommended for GPU compute features).
DeltaSketch is a real-time visual processing tool for Windows. It takes live camera feeds, images, or video files as inputs, passes them through chains of effects called pipelines, and displays the results in floating output windows. Frames can be captured at any time to build stop-motion sequences or time-lapses, then exported as an image sequence or video.
Control Panel
The Control Panel is the main sidebar. It has three tabs: Input, Pipeline, and Output.
Inputs
Inputs are the media sources that feed into pipelines.
Adding an Input
Open the Input tab and click one of the three buttons at the top:
| Button | Description |
|---|---|
| Camera | Opens a camera-picker dialog. Select a detected device and click OK. The camera initialises asynchronously. |
| Image | Opens a file dialog. Supported formats: PNG, JPG, BMP, TIFF, WebP. |
| Video | Opens a file dialog. Uses FFmpeg for broad codec support; falls back to OpenCV automatically. |
After adding, the new input is automatically selected.
The Input List
All inputs appear in a scrollable list. Click an item to select it and expand its controls. Hover over any item to see a drag handle cursor — you can drag an input directly onto an Output window to assign it as that output's source.
Special Inputs
| Name | Description |
|---|---|
| Last Capture | Automatically populated with the most recently captured frame. Read-only. |
| Timeline | Feeds frames from the capture timeline into the pipeline. Read-only. |
Input Controls
- Camera — Start/Stop, resolution selector, live FPS readout.
- Image — File path display; Export button to save a processed copy.
- Video — Play/Pause/Stop, frame scrubber, speed presets (0.25× – 2×), loop toggle, seek to start/end. Video transport controls also appear in the Output window footer when a video input is active.
Removing an Input
Select an input, then click the ✕ button that appears to its right. Special inputs (Last Capture, Timeline) cannot be removed.
Pipelines
A pipeline is an ordered chain of effects applied to an input source.
Creating a Pipeline
| Button | Description |
|---|---|
| New | Creates a blank pipeline. |
| New from Current | Clones the selected pipeline's input and creates a new Output window automatically. |
Selecting an Input Source
Inside the pipeline tab, use the Input Source dropdown to choose which input (or another pipeline's output) feeds this pipeline.
Pipelines can be chained: set a pipeline's input source to another pipeline's name to build multi-stage processing graphs.
The Effect Chain
Effects are listed in top-to-bottom processing order.
- Add Effect — Use the effect picker to append an effect.
- Reorder — Drag effects up or down with the arrow buttons.
- Enable / Disable — Toggle the checkbox on each effect without removing it.
- Remove — Click the ✕ on an effect row.
- Undo / Redo — Effect parameter changes are fully undoable within a session.
Presets
Select a preset from the Preset dropdown to instantly replace the effect chain with a curated starting configuration.
Processing Quality
The quality slider (0.1 – 1.0) scales the resolution at which effects run, trading image fidelity for performance.
Performance Monitor
Click the FPS counter in the bottom-right of the Control Panel to open the Performance Monitor. It shows per-effect timing and overall pipeline latency.
Removing a Pipeline
Click the ✕ next to a pipeline in the list. At least one pipeline must remain. Outputs and child pipelines that referenced the deleted pipeline are automatically reset.
Effects
Effects are the processing nodes inside a pipeline. Each effect exposes its own set of parameters.
Common built-in effects include:
| Effects | What it does |
|---|---|
| BCS | Brightness, Contrast, Saturation adjustment |
| Flip | Horizontal / vertical mirror |
| Zoom & Pan | GPU-accelerated crop and offset |
| Kaleidoscope | Radial symmetry mirror |
| Oil Painting | Stylised paint simulation |
| Lego | Pixelate to a circular stud grid |
| Warp | Mesh-based distortion |
| Infinity Mirror | Recursive feedback reflection |
| Morph Blend | Cross-fade / morph between two sources |
| Grid Trace | Edge-following grid overlay |
| Custom Shader | Write GLSL compute shaders with live reload |
Outputs
Output windows display the processed result of a pipeline or a raw input.
Creating an Output
In the Output tab click New Output. Outputs can also be created automatically via New from Current in the Pipeline tab.
Assigning a Source
Drag an Input or Pipeline from the Control Panel onto an Output window — the window border highlights as a drop target. Alternatively, use the source selector in the Output window's top bar.
Output Settings
Select an output in the Output tab to expand its settings:
| Setting | Description |
|---|---|
| Stretch | Stretch the image to fill the window, or letterbox/pillarbox it. |
| Quality | Independent display resolution scale. |
| Manual Resolution | Fix the output to a specific pixel size instead of following the input. |
| Grid Overlay | Draw a configurable rows × columns grid over the image. |
| Topbar | Always visible / hidden / visible on hover. |
| Zoom & Pan | Scroll-wheel to zoom; drag to pan. Reset via double-click. |
Arranging Outputs
Use the buttons in the Output tab under Arrange:
- Row — Stack all windows horizontally.
- Column — Stack all windows vertically.
- Grid — Tile windows in a balanced grid.
Display Helpers
- Stretch — Toggle stretch on all outputs simultaneously.
- Tab Bars — Show or hide ImGui dock tab bars across all Output windows.
Fullscreen
Double-click an Output window title bar to toggle fullscreen mode for that window.
Capture
The Capture system saves frames for export or timeline playback.
Capture Tab
Access capture controls through the Capture button in an Output window's top bar.
Sequence Capture
Manually trigger individual frame captures. Frames appear in the Sequence list with thumbnails. Each frame can be individually enabled or disabled for timeline playback.
Timeline Capture
Record a sequence of frames at a defined interval or on every pipeline execution. The timeline scrubber lets you preview and step through captured frames.
Non-Destructive Pipeline Preview
Apply a different pipeline to captured frames without modifying the originals. Results are cached per-frame and can be baked to disk.
Recording Modes
| Mode | Description |
|---|---|
| Unified Timeline | All outputs write to the same folder. |
| Separate Timelines | Each output saves to its own sub-folder. |
| Alternate Outputs | Each capture cycles through selected outputs in order. |
Export
Export the captured sequence as:
- An image sequence (PNG).
- A video (via FFmpeg — AVI, WEBM, etc.).
Frame numbering can be sequential (1, 2, 3 …) or timestamp-based.
Projects
DeltaSketch saves and loads complete sessions as project files (.dsk). Projects store pipeline configurations, input sources, output layout, and capture sequences.
Use File → Save Project / File → Open Project to manage sessions.
Keyboard/Mouse Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Z | Undo effect parameter change |
Ctrl+Y | Redo effect parameter change |
Ctrl+G | Auto arrange Output windows in grid |
Space | Play / Pause active video input |
Scroll | Zoom in/out in focused Output window |
Right-click-drag | Pan in focused Output window |
Double-click | Reset zoom & pan / Toggle fullscreen |
Ctrl+Left-Click (on sliders) | Set custom value |
Some buttons have a context menu (via right-click) which allow to bind a hotkey to that action. For example, you could bind Ctrl+Space to the "Capture Frame" button etc.