How bearwolf/gameboy-camera-filter works
This is a browser-based Game Boy Camera-style webcam filter intended for live preview or OBS Browser Source. The workflow acquires webcam video, crops and scales frames, applies brightness-adjusted Bayer dithering and a selected palette, optionally blends prior frames for ghosting, then renders the result to a canvas. URL parameters initialize the filter and UI controls update those parameters. The available source shows these responsibilities combined in script.js; the README documents OBS use, settings, palettes, FPS, and ghosting.
Main entry points: script.js URL settings
Components 9
Camera capture
- Webcam acquisition
script.js
Image processing
- Frame crop and scale
script.js - Dither and palette
script.js - Ghosting blend
script.js
Settings and controls
- URL settings
script.js - Filter controls
script.js
Preview output
- Canvas preview
script.js
Other components
- Viewer / OBS
- Webcam
Connections 10
- Webcam → Webcam acquisition: provides video
script.js - Webcam acquisition → Frame crop and scale: starts rendering
script.js - Frame crop and scale → Dither and palette: passes image data
script.js - Dither and palette → Ghosting blend: passes processed frame
script.js - Ghosting blend → Canvas preview: writes frame
script.js - URL settings → Dither and palette: sets filter options
script.js - URL settings → Frame crop and scale: sets resolution
script.js - URL settings → Ghosting blend: sets blend amount
script.js - Filter controls → URL settings: updates parameters
script.js - Canvas preview → Viewer / OBS: renders preview
README.md