Mastering the Edit

The Official
Manual.

DND Lab is a professional, offline-capable color suite running entirely inside your browser via WebGL. This guide explains how to leverage its engine.

01.

Architecture

Unlike standard generic photo apps that use flat Instagram-style LUTs (Look-Up Tables) or opaque CSS filters, DND Lab utilizes a hardware-accelerated WebGL shader pipeline.

  • GPU-Accelerated rendering via Canvas API
  • 100% Local Processing (No server uploads)
  • Non-destructive editing node graph
Raw.jpg
WebGL Engine
Canvas

Every adjustment—from the exact density of Portra 400 grain to the red halation bloom of CineStill—is calculated mathmatically per-pixel in real-time.

02.

The Preset Engine

The library features over 150+ rigorously tested film stock profiles. They are categorized by brand (Kodak, Fuji, Ilford, Polaroid) and style (Cinema, Experimental).

Portra 400 72%

Pro Tip: The Opacity Slider

Never leave a preset at 100% opacity unless you want a purely stylized look. The secret to professional emulation is dialing the preset opacity back to 65% – 80%. This blends the film character with the natural dynamic range and clarity of the original digital file.

03.

Broadcast-Grade Scopes

If you edit by eye alone, your final product will look different on every monitor. Scopes are objective math. You can open them by clicking the "Scopes" tab at the bottom right of the editor.

R
G
B

Histogram

Plots the volume of pixels across brightness levels. If the graph hits the far right wall, your highlights are clipping (blown out). If it hits the left, shadows are crushed.

Vectorscope

Plots color hue (angle) and saturation (distance from center). The "skin tone line" sits between Yellow and Red. Keep human subjects near this axis.

Waveform Monitor

The ultimate tool for checking exposure. It scans your image from left to right and plots brightness vertically. Use this to ensure your skies aren't too bright and subject faces are well-exposed (around 60-70 IRE).

04.

Tone & Color Modules

The Tone and Color tabs function identically to Adobe Lightroom but calculate faster in WebGL.

Shadows
Midtones
Highlights

The S-Curve (Under 'Curves')

The most important tool for emulating analog contrast. Click to add a point in the bottom-left third (shadows) and drag it down. Add a point in the top-right third (highlights) and drag it up. This produces the classic "pop."

Lifted Blacks / The "Matte" Look

True black rarely exists on printed film. To achieve the trendy, faded indie film look: grab the absolute bottom-left point of the RGB curve and drag it straight up so that your darkest black becomes a dark, milky grey.

05.

Atmosphere FX

Color is only 50% of the emulation. The other half is simulating the physical imperfections of the medium.

ISO 1600

Algorithmic Grain

True silver halide grain isn't a digital static overlay—it is the physical structure of the image itself. The WebGL Roughness slider controls the "clumpiness" of algorithmic noise before it is blended into the luminance channels.

High roughness simulates pushed 1600 ISO film where crystals clump together in the shadows. Low roughness emulates a smooth, tightly-packed 400 ISO emulsion.

Lens Optics

Vintage lenses are highly imperfect pieces of glass. This module simulates physical light dispersion. Halation occurs when light bounces back through the red emulsion layer, causing bright highlights to bloom with a neon red aura—essential for night photography on CineStill stock.

Bloom (simulating a Black Pro-Mist filter) lowers micro-contrast, causing light sources to glow softly and removing the harsh, clinical sharpness of modern digital sensors. Add Fringing (Chromatic Aberration) to separate color channels at the edges of the frame.

F/1.4
35MM GATE

Cinematic Wear

Moving pictures rely heavily on mechanical imperfection. The Gate Weave slider introduces sub-pixel positional jitter to emulate film stock rattling vertically inside a mechanical projector gate.

Film Burn overlays animated, procedurally generated light leak gradients across the edges of the frame to mimic film exposing to raw light when a camera back is opened prematurely.

Dithering

Sometimes the goal isn't silver film, but early silicon. Dithering uses classic retro algorithms (Floyd-Steinberg, Atkinson, Bayer 4x4) to simulate limited color palettes from early Macintoshes and Gameboys by using intricate dot patterns.

By strictly mapping continuous color tones into a restricted true-color or 1-bit palette, perceptual gradients are created through pixel density.

BAYER 4x4
01100101 01110010 01110010 01101111 01110010 10101010 11001100
[#] [%] [*] [:] [.] [ ] [.] [:] [*] [%] [#] [@] [!] [?] [&] [$]
00000000 11111111 00000000 11111111 00000000 11111111 00000000
[||] [//] [\\] [==] [XX] [--] [||] [//] [\\] [==] [XX] [--] [||]
11111000 00111111 10101010 01010101 11001100 00110011 11111111
[#] [%] [*] [:] [.] [ ] [.] [:] [*] [%] [#] [@] [!] [?] [&] [$]
00000000 11111111 00000000 11111111 00000000 11111111 00000000
[||] [//] [\\] [==] [XX] [--] [||] [//] [\\] [==] [XX] [--] [||]
01100101 01110010 01110010 01101111 01110010 10101010 11001100
[#] [%] [*] [:] [.] [ ] [.] [:] [*] [%] [#] [@] [!] [?] [&] [$]
00000000 11111111 00000000 11111111 00000000 11111111 00000000
[||] [//] [\\] [==] [XX] [--] [||] [//] [\\] [==] [XX] [--] [||]
11111000 00111111 10101010 01010101 11001100 00110011 11111111
[#] [%] [*] [:] [.] [ ] [.] [:] [*] [%] [#] [@] [!] [?] [&] [$]
00000000 11111111 00000000 11111111 00000000 11111111 00000000
[||] [//] [\\] [==] [XX] [--] [||] [//] [\\] [==] [XX] [--] [||]
11111000 00111111 10101010 01010101 11001100 00110011 11111111
[#] [%] [*] [:] [.] [ ] [.] [:] [*] [%] [#] [@] [!] [?] [&] [$]
00000000 11111111 00000000 11111111 00000000 11111111 00000000
[||] [//] [\\] [==] [XX] [--] [||] [//] [\\] [==] [XX] [--] [||]
01100101 01110010 01110010 01101111 01110010 10101010 11001100
LUMA TO CHAR

ASCII Art

Convert your high-resolution images entirely into monospaced text characters. The shader maps the luminance (brightness) of each block of pixels to a specific character in an ASCII density string.

For example, dark areas map to whitespace    or periods . while bright highlights map to dense characters like # or @.

Posterize (Bit Depth)

Modern images are typically 8-bit or 16-bit per channel, providing millions of colors. Posterization intentionally crushes this bit depth.

By rounding color values to the nearest discrete step, smooth gradients are broken into bands of flat color. Simulates printing with limited ink plates or early 16-color display adapters.

4 BITS/CH
DOWNSAMPLE

Pixelize

Simulate drastically reduced display resolutions. The Pixelize shader downsamples your 4K image into macroscopic blocks by averaging the color data within a square grid.

Combine high-intensity Pixelize with a Posterization pass to accurately emulate aesthetics from the 16-bit video game console era.

SCREEN BLEND

Texture Overlays

To finalize a render, flat color data often needs physical texture. Choose from over 15+ curated high-resolution scans covering Dust & Scratches, Emulsion Damage, and Light Leaks.

DND Lab provides full blend-mode compositing. Use Screen to add light leaks without muddying shadows, and Multiply or Overlay for aggressive grime and scratches.

06.

Exporting

Once you are satisfied with your emulation, hit the Save (Export) icon in the top right.

Unlike cloud-based editors that compress your images before uploading them, DND Studio renders the final high-resolution composite entirely within your device's memory.

The original file quality is left completely untampered, and all EXIF metadata (camera model, lens data, GPS location) is preserved seamlessly in the final local download.

Start Editing Now
EXPORT 100%