/emoteJAM

Simple website that generates animated BTTV emotes from static images.

Primary LanguageTypeScriptMIT LicenseMIT

emoteJAM

emoteJAM is a simple website that generates animated BTTV emotes from static images.

That idea is to apply a well established "meme meta filters" to static emotes. Such as JAM, Hop, etc.

The most important feature of the website is that it's completely client-side and can be easily deployed to something like GitHub Pages. It uses WebGL to animate static images and gif.js to generate actual GIF files inside of your browser.

Official Deployed Instance: https://tsoding.org/emoteJAM/

Running Locally

Nothing particularly special is required. Just serve the folder using HTTP server like Python's SimpleHTTPServer:

$ python3 -m http.server 6969
$ iexplore.exe http://localhost:6969/

Development Workflow

  1. $ npm install
  2. $ ./node_modules/.bin/tsc -w
  3. <edit files>

Make sure that you commit the generated js/* files along with your changes. This is important for the project to retain that "Just deploy the repo" attitude.

Filter Development

WARNING! Knowledge of WebGL or OpenGL is required to read this section!

Uniforms

Name Type Description
time float Current time in Seconds (float) since the start of the application. Can be used for animating.
resolution vec2 Resolution of the emote canvas in Pixels.
emote sampler2D The input image as the WebGL texture.
emoteSize vec2 The input image size in pixels.