## scratch-render

#### WebGL-based rendering engine for Scratch 3.0

## Installation

    npm install https://github.com/LLK/scratch-render.git

## Setup

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Scratch WebGL rendering demo</title>
        </head>

        <body>
            <canvas id="myStage"></canvas>
            <canvas id="myDebug"></canvas>
        </body>
    </html>

    var canvas = document.getElementById('myStage');
    var debug = document.getElementById('myDebug');

    // Instantiate the renderer
    var renderer = new require('scratch-render')(canvas);

    // Connect to debug canvas
    renderer.setDebugCanvas(debug);

    // Start drawing
    function drawStep() {
        renderer.draw();
        requestAnimationFrame(drawStep);
    }
    drawStep();

    // Connect to worker (see "playground" example)
    var worker = new Worker('worker.js');
    renderer.connectWorker(worker);

## Standalone Build

    npm run build

    <script src="/path/to/render.js"></script>
    <script>
        var renderer = new window.RenderWebGLLocal();
        // do things
    </script>

## Testing

    npm test

## Donate

We provide Scratch free of charge, and want to keep it that way! Please consider making a donation to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!