Claude
ecb2cf1d32
Blend modes: classic modes fade with opacity and HDR modes keep over-range values, as in After Effects ( #494 )
...
Measured against After Effects at 32 bpc:
- Classic Color Dodge, Classic Color Burn and Classic Difference at partial opacity: AE
fades the source toward the mode's neutral colour (0 for Dodge and Difference, 1 for
Burn) by the opacity and applies the classic formula at full strength (b / (1 − k·o),
|b − k·o|, 1 − (1 − b) / (1 − k·(1 − o))). We mixed the full-strength result by opacity:
up to 45/255 off on ordinary 0–1 footage.
- Overlay, Exclusion, Luminosity, Color Burn and Classic Color Burn keep their plain formula
for values above 1 (HDR passes). They were missing from `supports_hdr`, so their inputs
were clamped to 0–1 (Exclusion was up to 208/255 off); Classic Color Burn also clamped
its result at 0, where AE keeps negative values.
The CPU blend (color::blend_pixel) and the GPU kernel (common.wgsl) change together.
Tests: the reporter's formulas for each case (blend.rs); the CPU/GPU parity test of every
blend mode at every bit depth (over-range values, 70 % opacity) passes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
2026-10-10 20:51:24 +00:00
..
2026-10-10 20:51:24 +00:00
2026-10-06 16:40:12 -05:00
2026-10-03 10:31:31 -04:00
2026-10-03 10:31:31 -04:00
2026-10-09 23:17:33 +07:00
2026-10-08 20:33:03 +07:00
2026-10-04 02:57:55 -04:00
2026-10-03 17:43:24 -04:00
2026-10-03 17:33:41 -04:00
2026-10-08 20:33:03 +07:00
2026-10-03 10:53:00 -04:00
M13.28: GPU generators (fx_gen2): Lightning, Advanced Lightning, Beam, Lens Flare, Radio Waves, Vegas, Stroke, Scribble, Write-on, Paint Bucket, Eyedropper Fill, CC Glue Gun, CC Threads, Audio Spectrum/Waveform, Basic Text, Path Text
2026-10-04 02:56:00 -04:00
2026-10-03 10:53:00 -04:00
M13.28: GPU pixel ports (fx_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D
2026-10-04 01:33:54 -04:00
2026-10-03 17:31:26 -04:00
2026-10-09 23:57:12 +07:00
2026-10-09 00:22:05 -04:00
2026-10-04 01:35:56 -04:00
2026-10-10 19:13:16 +02:00
2026-10-04 01:35:56 -04:00
2026-10-10 19:12:45 +02:00
M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite)
2026-10-03 17:48:02 -04:00
2026-10-04 01:35:56 -04:00
2026-10-03 10:31:31 -04:00
M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite)
2026-10-03 17:48:02 -04:00
2026-10-03 17:53:23 -04:00
2026-10-04 01:35:56 -04:00
2026-10-09 23:17:33 +07:00
2026-10-06 00:00:31 -05:00
2026-10-06 16:40:12 -05:00
2026-10-06 16:40:12 -05:00
2026-10-03 07:53:31 -04:00
2026-10-09 17:16:36 +03:00
2026-10-05 10:08:21 -04:00
2026-10-04 02:57:17 -04:00
2026-10-06 16:40:12 -05:00
2026-10-03 07:29:30 -04:00
2026-10-03 17:33:41 -04:00
2026-10-08 20:33:03 +07:00
2026-10-03 10:53:00 -04:00
M13.28: GPU generators (fx_gen2): Lightning, Advanced Lightning, Beam, Lens Flare, Radio Waves, Vegas, Stroke, Scribble, Write-on, Paint Bucket, Eyedropper Fill, CC Glue Gun, CC Threads, Audio Spectrum/Waveform, Basic Text, Path Text
2026-10-04 02:56:00 -04:00
M12.7: GPU blur/transition/generate effects (radial, camera lens, CC radial fast, wipes, venetian, cell pattern, checkerboard, grid, 4-color, noise, add grain)
2026-10-03 02:46:09 -04:00
2026-10-06 00:00:31 -05:00
2026-10-03 17:31:26 -04:00
2026-10-09 23:57:12 +07:00
2026-10-09 00:22:05 -04:00
2026-10-10 00:35:25 +07:00
2026-10-10 19:13:16 +02:00
2026-10-04 01:35:56 -04:00
2026-10-03 10:31:31 -04:00
M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite)
2026-10-03 17:48:02 -04:00
2026-10-04 01:35:56 -04:00
2026-10-03 08:28:27 -04:00
M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite)
2026-10-03 17:48:02 -04:00
2026-10-03 17:53:23 -04:00
2026-10-04 01:35:56 -04:00
2026-10-08 13:57:08 +07:00
2026-10-04 02:57:17 -04:00
2026-10-09 23:17:33 +07:00
2026-10-03 18:26:06 -04:00