webgbcam icon
webgbcam icon

webgbcam

Web app for capturing photos or short videos/gifs with Gameboy Camera-like filters using your phone or web camera.

Cost / License

  • Free
  • Open Source

Platforms

  • Online
-
No reviews
3likes
0comments
0news articles

Features

Suggest and vote on features

Properties

  1.  Privacy focused

Features

  1.  No registration required
  2.  Ad-free
  3.  No Tracking
  4.  Support for GIF
  5.  Photo effects
  6.  Photographic filters
  7.  Web-Based
  8.  GIF recording
  9.  No installation
  10.  Webcam recording
  11.  Export to PNG
  12.  Pixel graphics
  13.  Progressive Web App
  14.  Video filters
  15.  Capture Video
  16.  Pixel Art
  17.  Webcam Effects

 Tags

  • Gif
  • pixelart
  • Html5
  • webcam-snapshot
  • video-effects
  • gif-js
  • animated-gif
  • export-to-gif
  • photography

webgbcam News & Activities

Highlights All activities

Recent activities

Show all activities

webgbcam information

  • Developed by

    maple "mavica" syrup
  • Licensing

    Open Source and Free product.
  • Written in

  • Alternatives

    10 alternatives listed
  • Supported Languages

    • English

AlternativeTo Categories

Photos & GraphicsVideo & Movies

GitHub repository

  •  162 Stars
  •  13 Forks
  •  0 Open Issues
  •   Updated  
View on GitHub
webgbcam was added to AlternativeTo by Kezxo on and this page was last updated .
No comments or reviews, maybe you want to be first?
Post comment/review

What is webgbcam?

A simple Game Boy Camera-style filter made in HTML5 and JavaScript

Play with it here!

Disclaimer

As of this commit, this is simply a direct copy of the files currently in my webserver. Eventually, I will clean things up and make improvements to the code, but since there has been interest in looking at the code, I'm mirroring the files here.

A quick explanation of how it all works

The concept of Bayer dithering was hard for me to grasp at first, but after a few different projects getting acquainted with it, I've found an easy way to apply it, which can be used in a procedural setting like JS Canvas filters, or shaders.

Basically, you start with an array of pixels, then grayscale them and optionally apply simple arithmetics to apply gamma and contrast adjustments. Then, you offset those by the value in the Bayer matrix corresponding to that pixel, giving it a patterned look. Finally, you divide and quantize the values until all pixels each have only one of four possible values. This will give you a dithered pixel art look. After this, my code applies a palette swap for those 4 values back to RGB space.

Acknowledgements

Thanks to Christine Love for making the Interstellar Selfie Station back in 2014. It helped me a lot with my dysphoria and was the inspiration to learning how Bayer dithering works in order to remake her camera app once it was no longer available in app stores.

Thanks to Joel Yliluoma's arbitrary-palette positional dithering algorithm page, which was the first analysis of ordered dithering that I found comprehensible and used to implement the filter in different applications.

Thanks to lospec.com for making a list of palettes available, many of which were used in this project.

Thanks to gbdev.io for information on the Game Boy Camera hardware, used for accurate filtering.

Official Links