Skip to content

adroitwhiz/scratch-render

This branch is 20 commits ahead of, 3096 commits behind scratchfoundation/scratch-render:develop.

Folders and files

NameName
Last commit message
Last commit date
Feb 16, 2024
Dec 21, 2023
Feb 21, 2024
Feb 21, 2024
Feb 21, 2024
Jun 8, 2016
May 29, 2018
Apr 27, 2018
Jul 26, 2021
Oct 13, 2023
Aug 13, 2019
May 21, 2018
Oct 13, 2023
Feb 20, 2024
May 13, 2016
Dec 21, 2023
Jun 18, 2018
Dec 21, 2023
Feb 21, 2024
Feb 21, 2024
Dec 21, 2023
Feb 20, 2024
Apr 23, 2019

Repository files navigation

scratch-render

WebGL-based rendering engine for Scratch 3.0

CircleCI

Greenkeeper badge

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!

Committing

This project uses semantic release to ensure version bumps follow semver so that projects depending on it don't break unexpectedly.

In order to automatically determine version updates, semantic release expects commit messages to follow the conventional-changelog specification.

You can use the commitizen CLI to make commits formatted in this way:

npm install -g commitizen@latest cz-conventional-changelog@latest

Now you're ready to make commits using git cz.

About

WebGL-based rendering engine for Scratch 3.0

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.0%
  • GLSL 4.4%
  • HTML 3.6%