001 icon indicating copy to clipboard operation
001 copied to clipboard

draw_code.001 — ThreeJS, WebGL & GLSL

draw_code.001 — ThreeJS, WebGL & GLSL

This repository includes code & resources for students attending the ThreeJS, WebGL & GLSL workshops.

✨ [ Interactive Demo ]

Contents

  • 📖 Digital Book

  • 🔧 Tools & Prerequisites

    • 🎨 Installing canvas-sketch CLI
  • ✂️️ Code Snippets

  • 💻 Command-Line Tips & Suggestions

  • 🔥 Modules for Creative Coding

  • ⚡️ Cloning & Running Examples

  • Further Reading

Digital Book

You can browse the interactive "slide book" here:

Tools & Prerequisites

Here is a list of tools, software and libraries that will be used during the workshop.

Tool Documentation Description
Code Editor A JavaScript code editor, VSCode is recommended
Browser A modern browser, Chrome is recommended
Canvas API [docs] The HTML5 <canvas> API, built into all browsers
Command-Line [guide] A command-line application like Terminal (macOS) or cmder (Windows)
Node.js (v8+) [docs] Used for running command-line JavaScript tools
npm (v5+) [docs] Used to install third-party dependencies and tools
canvas-sketch [docs] A development tool & framework for Generative Art
canvas-sketch-util [docs] Utilities for Math & Random Number Generation
ThreeJS [docs] A 3D rendering engine for WebGL

If you already have these tools installed, you can use the --version flag to make sure you have at least node@8 and npm@5:

npm --version
node --version

Installing canvas-sketch CLI

We will be using canvas-sketch and its command-line interface (CLI) during the workshop.

To install the CLI with npm, use the --global or -g flag like so:

npm install canvas-sketch-cli --global

:bulb: Note the -cli suffix in the name; this tells npm to install the CLI tool, not the code library.

Code Snippets

I've also included a small "recipes" document that you can use as a reference if you are forgetting some of the patterns and recipes discussed during the workshop.

  • Code Snippets

Command-Line Tips & Suggestions

If you are new to the command-line, you can read more details here:

  • Command-Line Tips & Suggestions

Cloning & Running Examples

During the workshop, you won't need to clone and run this repository locally. However, if you wish to do so, you can find more instructions here:

  • Cloning & Running Examples

Modules

This workshop encourages students to make use of npm modules to build complex and interesting artworks.

If you find a module you want to use, like riso-colors, you can install it from your project folder like so:

npm install riso-colors

Below are some of the modules used in the workshop:

Here's a list of some other modules you might like to use in generative art:

Further Reading

More links to generative art & creative coding:

License

This repository has a dual license.

The textual documentation and markdown files are all licensed as MIT.

The images and JavaScript source files have been released under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0), see src/LICENSE.md for details.