0.1.25 • Published 7 years ago

hack.gl v0.1.25

Weekly downloads
-
License
MIT
Repository
-
Last release
7 years ago

simple fragment shader / feedback effect declarative webgl helper

useful for "pixel toys" (as on shadertoy.com), raymarchers, etc.

mostly for personal use, but do enjoy :)

type this:

$ npm install --save-dev hack.gl

then this:

const hackgl = require('hack.gl');
// or: import hackgl from 'hack.gl';
let canvas = document.getElementById('gl-canvas');

hackgl({
    canvas,
    resolution: {
        width: 800,
        height: 400
    },
    feedbackFbo: {
        injectWebcamUniform: true,
        uniforms: {
            u_texture1: {
                type: 't',
                value: null,
                url: 'assets/sky.jpg'
            }
        },
        fragmentShader: `
            uniform sampler2D u_texture1;

            void main() {
                vec2 uv = gl_FragCoord.xy / u_resolution.xy;
                vec2 tc = uv;

                uv *= 0.991;

                vec2 coords = vec2(
                    0.5 + uv.x * abs(cos(u_time)*0.5),
                    0.5 + uv.y * abs(sin(u_time+uv.x*1.0)*0.5)
                );

                vec4 src = texture2D(u_fbo, uv);
                vec4 src2 = texture2D(u_texture1, coords);
                vec4 sum = texture2D(u_camera, tc);

                sum.rgb = mix(sum.rgb, src2.rgb, 0.25);
                sum.rgb = mix(sum.rbg, src.rgb, 0.95);

                gl_FragColor = sum;
            }
        `
    },
    fragmentShader: `
        void main() {
            vec2 uv = gl_FragCoord.xy / u_resolution.xy;
            gl_FragColor = texture2D(u_fbo, uv);
        }
    `,
});

get this:

Solid

live demo

jakob stasilowicz

stasilo.se

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.22

7 years ago

0.1.21

7 years ago

0.1.20

7 years ago

0.1.19

7 years ago

0.1.18

7 years ago

0.1.17

7 years ago

0.1.16

7 years ago

0.1.15

7 years ago

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago