Animated haze distortion effect for images and text, with WebGL.

Overview

Animated Heat Distortion Effects with WebGL

A tutorial on how to use fragment shaders in WebGL to create an animated heat haze distortion effect on images and text. By Lucas Bebber.

Article on Codrops

Demo

Installing

First, you'll need node.js, which includes npm. Then, open the project folder on the terminal and run:

$ npm i

Building and running

Building

$ npm run build

Watching

$ npm run watch

Running

$ npm run start

Then open http://localhost:8080/demo.

Watching & Running

$ npm run start-dev

...and when you're done...

$ npm run stop-dev

License

Integrate or build upon it for free in your personal or commercial projects. Don't republish, redistribute or sell "as-is".

Read more here: License

Misc

Follow Lucas: Twitter, Dribbble, Flickr

Follow Codrops: Twitter, Facebook, Google+, GitHub, Pinterest

© Codrops 2016

Comments
  • jquery version about this effect ?

    jquery version about this effect ?

    opened by alexander-kinvic 0
  • When included on a page in webapp (Laravel), navigating away from page with this webgl implementation causing really long load time.

    When included on a page in webapp (Laravel), navigating away from page with this webgl implementation causing really long load time.

    I recorded 19 seconds loading going from one page that had the cooking.js invocation of webgl and navigating to another internal page causes extremely long load times and all the while on a local http server in development. Remove the cooking.js file and navigation is swimmingly fast. Not sure what's going on here but needless to say have removed this from my website. Anyways, awesome work though. Thoughts?

    opened by david-j-davis 0
  • won't build... problem with node package

    won't build... problem with node package

    0 info it worked if it ends with ok
    1 verbose cli [ 'node', '/usr/local/bin/npm', 'run', 'watch' ]
    2 info using [email protected]
    3 info using [email protected]
    4 verbose run-script [ 'prewatch', 'watch', 'postwatch' ]
    5 info prewatch [email protected]
    6 info watch [email protected]
    7 verbose unsafe-perm in lifecycle true
    8 info [email protected] Failed to exec watch script
    9 verbose stack Error: [email protected] watch: `webpack -w`
    9 verbose stack spawn ENOENT
    9 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:17:16)
    9 verbose stack     at ChildProcess.emit (events.js:110:17)
    9 verbose stack     at maybeClose (child_process.js:1015:16)
    9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
    10 verbose pkgid [email protected]
    11 verbose cwd /Applications/mamp/htdocs/webgl
    12 error Darwin 14.5.0
    13 error argv "node" "/usr/local/bin/npm" "run" "watch"
    14 error node v0.12.7
    15 error npm  v2.11.3
    16 error file sh
    17 error code ELIFECYCLE
    18 error errno ENOENT
    19 error syscall spawn
    20 error [email protected] watch: `webpack -w`
    20 error spawn ENOENT
    21 error Failed at the [email protected] watch script 'webpack -w'.
    21 error This is most likely a problem with the codrops-photoeffect-test package,
    21 error not with npm itself.
    21 error Tell the author that this fails on your system:
    21 error     webpack -w
    21 error You can get their info via:
    21 error     npm owner ls codrops-photoeffect-test
    21 error There is likely additional logging output above.
    22 verbose exit [ 1, true ]
    
    opened by strohrdanz 0
  • Flickering bug

    Flickering bug

    We have used this plugin for our project for cooking effect. It is an awesome js library. The issue which i found was flickering on the page, especially on the top of the page. It happens randomly. This same issue is there in the official demo link as well. Please recommend a way to resolve this issue. Thank you.

    opened by ajsuvarna6 0
  • Dúvidas

    Dúvidas

    Olá Lucas!, Obrigado por esse projeto, estava aqui testando o efeito Water e tive algumas dúvidas. Troquei a sua imagem por outra e quis trocar a posição das ondas, no código tentei trocar os eixos X e Y, mas não tive o resultado esperado. E outra, como é que você cria o mapa das imagens?

    opened by BenevidesLecontes 1
Owner
Lucas Bebber
Lucas Bebber
Some ideas for decorative link distortion effects using SVG filters.

Distorted Link Effects A couple of ideas for decorative link distortion effects using SVG filters on lines, circles and squares. Article on Codrops De

Codrops 122 Dec 4, 2022
A subtle tilt effect for images. The idea is to move and rotate semi-transparent copies with the same background image in order to create a subtle motion or depth effect.

Image Tilt Effect A subtle tilt effect for images. The idea is to move and rotate semi-transparent copies with the same background image in order to c

Codrops 571 Nov 21, 2022
Add a water ripple effect to your background using WebGL.

jQuery Ripples Plugin By the powers of WebGL, add a layer of water to your HTML elements which will ripple by cursor interaction! Important: this plug

Pim Schreurs 976 Dec 30, 2022
"shuffle-text" is JavaScript text effect library such as cool legacy of Flash.

ShuffleText This is the JavaScript library for text effect such as Flash contents. Setup Script Install <script src="shuffle-text.js"></script> NPM In

Yasunobu Ikeda 96 Dec 24, 2022
fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulate the page preloading effect.

What is fakeLoader.js fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulat

João Pereira 721 Dec 6, 2022
Animated images that are superficially attractive and entertaining but intellectually undemanding. Cool as all hell though!

MMM-EyeCandy Animated images that are superficially attractive and entertaining but intellectually undemanding. Add some EyeCandy to your mirror. Some

Mykle 36 Dec 28, 2022
Liquideffect - Javascript Library for creating liquid effect on image and RGB effect on mouse direction.

LiquidEffect Javascript Library for creating liquid effect on image and RGB effect on mouse direction. Demo https://liquideffect.netlify.app/ Dependen

Rohail 8 May 6, 2022
A motion hover effect for a background grid of images.

Image Grid Motion Effect A motion hover effect for a background grid of images. Article on Codrops Demo Installation Install dependencies: npm install

Codrops 118 Dec 31, 2022
Javascript library enabling magnifying glass effect on an images

Magnifier.js Javascript library enabling magnifying glass effect on an images. Demo and documentation Features: Zoom in / out functionality using mous

Mark Rolich 808 Dec 18, 2022
Add a retro/vintage effect to images using the HTML5 canvas element

vintageJS Add a retro/vintage effect to images using the HTML5 canvas element. Installation $ npm install vintagejs How to use vintagejs is a functio

Robert Fleischmann 829 Dec 25, 2022
A tutorial on how to create a thumbnail grid with an expanding image preview similar to the effect seen on Google Images.

Thumbnail Grid with Expanding Preview A tutorial on how to create a thumbnail grid with an expanding image preview similar to the effect seen on Googl

Codrops 353 Jan 4, 2023
A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images.

jQuery GRIDDER 1.4.2 ======= A jQuery plugin that displays a thumbnail grid expanding preview similar to the effect seen on Google Images. We have all

Orion Gunning 455 Nov 6, 2022
⌨️ A tiny library for creating a typing effect on specified text element.

⌨️ TinyTyper - a tiny library for creating a typing effect on specified text element. Demo Size (It's really tiny) Minimized: 2.9KB Gziped: 1.1KB Inst

Korney Vasilchenko 175 Sep 29, 2021
❄️ Add a live frosted glass blur effect over any type of web content, including text.

Frosted Glass ❄️ Add a live frosted glass blur effect over any type of web content, including text. ️️ Demos Install npm install frosted-glass --save

Adrian Carriger 63 Nov 10, 2022
Some experimental rain and water drop effects in different scenarios using WebGL, by Lucas Bebber.

Rain & Water Effect Experiments Some experimental rain and water drop effects in different scenarios using WebGL, by Lucas Bebber. Article on Codrops

Codrops 1.4k Jan 4, 2023
sync CSS 3D transformations to a WebGL scene

gl-css3d Synchronize CSS 3D transformations to a WebGL scene Usage: var createCSS3D = require('gl-css3d'); // pass an HTML DOM element node, such as

null 30 Oct 17, 2022
A JavaScript library for advanced 2D slideshow with WebGL, that provides variety of beautiful effects

gl-slideshow An advanced 2D slideshow with WebGL, provides a variety of beautiful effects with GLSL power. Shaders are forked from https://gl-transiti

Akihiro Oyamada 68 Nov 28, 2022
🧞‍♂️ Your magic WebGL carpet

⚠️ ⚠️ BETA! ⚠️ ⚠️ (Most likely I won't maintain this...) ??‍♂️ Aladino – your magic WebGL carpet Aladino is a tiny (around ~5kb gzipped) and dependenc

Luigi De Rosa 822 Dec 30, 2022
A JavaScript library for advanced 2D slideshow with WebGL, that provides variety of beautiful effects

gl-slideshow An advanced 2D slideshow with WebGL, provides a variety of beautiful effects with GLSL power. Shaders are forked from https://gl-transiti

Akihiro Oyamada 69 Jan 1, 2023