Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

423 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Awesome Creative Coding Awesome

Carefully curated list of awesome ๐ŸŒŽ creative coding resources primarily for beginners/intermediates.

Creative coding is a different discipline than programming systems. The goal is to create something expressive instead of something functional. Interaction design, information visualization and generative art are all different types of creative coding โ€“ which has become a household term describing artworks articulated as code.

Please read the contribution guidelines before contributing.

Contents

Books

Online Books

  • ๐ŸŒŽ The Book of Shaders - Step-by-step guide through the abstract and complex universe of fragment shaders.
  • ๐ŸŒŽ WebGL Fundamentals - WebGL from the ground up. No magic.
  • ๐ŸŒŽ WebGL 2 Fundamentals - WebGL2 from the ground up. No magic.
  • ๐ŸŒŽ Learn OpenGL - Extensive tutorial resource for learning Modern OpenGL.
  • ๐ŸŒŽ Scratchapixel 2.0 - Learn Computer Graphics From Scratch.
  • ๐ŸŒŽ ofBook - Community-written book/guide on openFrameworks.
  • ๐ŸŒŽ OGLdev - Collection of modern OpenGL tutorials by Etay Meiri.
  • ๐ŸŒŽ OpenGL Tutorial - Site dedicated to tutorials for OpenGL 3.3 and later.
  • ๐ŸŒŽ Open.gl - Guide that teach you the basics of using OpenGL.
  • Pixel Shaders - Interactive Introduction to Graphics Programming.
  • ๐ŸŒŽ OpenGLBook - Free OpenGL programming tutorial in online book format.
  • ๐ŸŒŽ Graphics Programming Projects - Book about 3D computational graphics by Morgan McGuire.
  • ๐ŸŒŽ On Generative Algorithms - Notes about generating various organic patterns, with examples and Python code, by Anders Hoff.
  • ๐ŸŒŽ Computer Graphics from Scratch - A raytracing and rasterization textbook that teaches you how OpenGL and DirectX works.
  • ๐ŸŒŽ A Primer on Bรฉzier Curves - A free book for when you really need to know how to do Bรฉzier things.
  • ๐ŸŒŽ 3D Game Shaders For Beginners - Step-by-step guide to real-time shading techniques.
  • ๐ŸŒŽ XEM WebGL Guide - Step-by-step guide to WebGL.
  • ๐ŸŒŽ Creative Coding Notebooks - An authorial set of fundamental Python recipes on Creative Coding and Computer Art, by Diego Inรกcio.
  • ๐ŸŒŽ WebGL Academy - Learn WebGL and 3D algorithmic in a progressive and interactive way.

Courses

Tools

Frameworks โ€ข Libraries โ€ข Ecosystems

  • ๐ŸŒŽ Processing [Cross-platform] - Computer programming language and IDE for visual arts.
  • ๐ŸŒŽ py5 [Cross-platform] - A library that integrates Processing into the Python 3 ecosystem.
  • ๐ŸŒŽ Cinder [Cross-platform] - Open source library for professional-quality creative coding in C++.
  • ๐ŸŒŽ openFrameworks [Cross-platform] - Open source C++ toolkit for creative coding.
  • ๐ŸŒŽ NAP [Cross-platform] - Open source data-driven real-time control & visualization platform suited for professional installations in C++, incl. Vulkan renderer.
  • ย ย ย 974โญ ย ย ย ย 74๐Ÿด C4) [iOS] - Open-source creative coding framework for iOS.
  • ๐ŸŒŽ Unity [Mac, Win] - Game engine, but useful for creative coding and installations.
  • ๐ŸŒŽ Godot [Cross-platform] - Open source game engine, that can also be used for all sorts of things.
  • ๐ŸŒŽ PlayCanvas [Cross-platform] - Open source, realtime collaborative WebGL engine.
  • ๐ŸŒŽ hg_sdf [Cross-platform] - GLSL library for building signed distance functions.
  • ๐ŸŒŽ nannou [Cross-platform] - Open-source creative coding framework for the Rust language.
  • ๐ŸŒŽ thi.ng [Cross-platform] - Open source collection of computational design tools for JavaScript, TypeScript, Clojure and ClojureScript languages.
  • ย ย ย 891โญ ย ย ย ย 66๐Ÿด PixelKit) [iOS, Mac] - Open source, live graphics, Swift framework, powered by Metal.
  • ๐ŸŒŽ OPENRNDR [Cross-platform] - Open source library for creative coding written in Kotlin.
  • ๐ŸŒŽ Phaser [Cross-platform] - HTML5 framework for building games, uses both a Canvas and WebGL renderer.
  • ย ย 5277โญ ย ย ย 402๐Ÿด Canvas-sketch) [Cross-platform] - HTML5 framework for making generative artwork in JavaScript and the browser.
  • ย ย ย 417โญ ย ย ย ย 21๐Ÿด AsyncGraphics) [iOS, macOS] - Open source, live graphics, async / await, Swift package, powered by Metal.
  • ย ย 3406โญ ย ย ย 222๐Ÿด Lygia) [Cross-platform] - Granular and multi-language (GLSL, HLSL, WGSL, MSL and CUDA) shader library designed for performance and flexibility.
  • ย ย ย 937โญ ย ย ย ย 24๐Ÿด Fragment.tools) [Cross-platform] - A web development environment for creative coding.

Visual Programming Languages

  • ๐ŸŒŽ vvvv [Win] - Hybrid visual/textual live-programming environment for easy prototyping and development.
  • ๐ŸŒŽ NodeBox [Mac, Win] - Cross-platform, node-based GUI for efficient data visualizations and generative design.
  • ๐ŸŒŽ TouchDesigner [Mac, Win] - Visual development platform to create realtime projects.
  • ๐ŸŒŽ Quartz Composer [Mac] - Development tool for processing and rendering graphical data.
  • ๐ŸŒŽ Vuo [Mac] - Live interactive-media programming environment.
  • ๐ŸŒŽ Max [Mac, Win] - Visual programming language for media.
  • ๐ŸŒŽ Pure Data [Cross-platform] - Open source visual programming language for multimedia.
  • ๐ŸŒŽ ossia score [Cross-platform] - Interactive, intermedia audio-visual sequencer.
  • ๐ŸŒŽ TiXL [Win] - Open source tool for creating interactive 3d content and animations.
  • ๐ŸŒŽ XOD [Cross-platform] - Open source visual programming language and environment for microcontroller-based projects.
  • ๐ŸŒŽ Isadora [Cross-platform] - Scene based media control software with integrated projection mapper.
  • ๐ŸŒŽ cables [Cross-platform/Web] - Your model kit for creating beautiful interactive content.
  • ย ย ย 579โญ ย ย ย ย 35๐Ÿด eternal) [Web] - Programs as graphs and graphs as compositional tools for creation.
  • ๐ŸŒŽ Notch Builder [Win] - Node-based authoring tool with a strong focus on real-time graphics.
  • ๐ŸŒŽ JOY.JS - Realtime visual coding tool, easy to understand and aimed at beginners.
  • ๐ŸŒŽ TIC-80 - Make pixel art style games and art on a 240*136 pixel screen.

Sound Programming Languages

  • ๐ŸŒŽ SuperCollider [Multi-platform] - Platform for audio synthesis and algorithmic composition.
  • ๐ŸŒŽ ChucK - Strongly-timed, concurrent, and on-the-fly music programming language.
  • ๐ŸŒŽ TidalCycles - Domain specific language for live coding of pattern.
  • ๐ŸŒŽ Sonic Pi - The live coding music synth for everyone.
  • ๐ŸŒŽ Csound - A sound and music computing system.
  • ๐ŸŒŽ Orca - Live coding environment to quickly create procedural sequencers.
  • ๐ŸŒŽ handel - A small procedural programming language for writing songs in browser.
  • ๐ŸŒŽ Overtone - An open source audio environment designed to explore new musical ideas from synthesis and instrument building to live-coding.
  • ย ย ย 214โญ ย ย ย ย 17๐Ÿด Melrลse) - A MIDI producing environment for creating (live) music.
  • ๐ŸŒŽ Glicol - Graph-oriented live coding language and music/audio DSP library written in Rust.

Web Programming โ€ข Libraries

  • ย ย ย ย ย ?โญ ย ย ย ย ย ?๐Ÿด three.js) - JavaScript 3D library.
  • ย ย 5569โญ ย ย ย 328๐Ÿด regl) - Functional WebGL.
  • ๐ŸŒŽ Stackgl - Open software ecosystem for WebGL, built on top of browserify and npm.
  • ๐ŸŒŽ Paper.js - The swiss army knife of vector graphics scripting.
  • ๐ŸŒŽ Pixi.js - HTML 5 2D rendering engine that uses webGL with canvas fallback.
  • ๐ŸŒŽ p5.js - JavaScript library that starts with the original goal of Processing.
  • ๐ŸŒŽ Pts.js - JavaScript library for visualization and creative-coding.
  • ๐ŸŒŽ Fabric.js - JavaScript canvas library, SVG-to-canvas parser.
  • ๐ŸŒŽ Maker.js - Parametric line drawing for SVG, CNC & laser cutters.
  • ๐ŸŒŽ JSCAD - Programmatic 3D modeling in JavaScript.
  • ๐ŸŒŽ Sketch.js - Minimal JavaScript creative coding framework.
  • ๐ŸŒŽ Two.js - Two-dimensional drawing api geared towards modern web browsers.
  • ย ย 1570โญ ย ย ย 149๐Ÿด lightgl.js) - A lightweight WebGL library.
  • ย ย ย 797โญ ย ย ย ย 68๐Ÿด picogl.js) - A minimal WebGL 2 rendering library.
  • ย ย ย 238โญ ย ย ย ย 21๐Ÿด Alfrid) - A WebGL tool set.
  • ย 25932โญ ย ย 3676๐Ÿด Babylon.js) - complete JavaScript framework for building 3D games with HTML 5 and WebGL.
  • ย ย 2995โญ ย ย ย 260๐Ÿด twgl.js) - A tiny WebGL helper library.
  • ย ย 2463โญ ย ย ย 227๐Ÿด luma.gl) - WebGL2 Components for Data Visualization.
  • ๐ŸŒŽ css-doodle - A web component for drawing patterns with CSS.
  • ย ย 4623โญ ย ย ย 235๐Ÿด OGL.js) - JavaScript 3D library (WebGL).
  • ๐ŸŒŽ Zdog - A pseudo-3D engine for canvas & SVG.
  • ย ย ย ย ย ?โญ ย ย ย ย ย ?๐Ÿด Oimo.js) - Lightweight 3D physics engine for JavaScript.
  • ย ย ย ย ย ?โญ ย ย ย ย ย ?๐Ÿด Ammo.js) - Direct port of the Bullet physics engine to JavaScript using Emscripten.
  • ย 12607โญ ย ย ย 470๐Ÿด Theatre.js) - Motion design library with visual tools.
  • ๐ŸŒŽ textmode.js - JavaScript canvas library for real-time ASCII and textmode graphics.

Projection Mapping โ€ข VJing

  • ๐ŸŒŽ MadMapper [Mac] - Video mapping projections and Light mapping.
  • ๐ŸŒŽ VDMX [Mac] - Realtime multimedia performance application.
  • ๐ŸŒŽ Modul8 [Mac] - Real time video mixing and compositing.
  • ๐ŸŒŽ Resolume [Mac, Win] - Mixing of digital video and effects in a realtime.
  • ย ย ย 236โญ ย ย ย ย 25๐Ÿด VirtualMapper) - Realtime preview tool for projection mapping.
  • ๐ŸŒŽ Millumin [Mac] - A software to create and perform interactive audiovisual shows.
  • ๐ŸŒŽ Smode [Win] - A real-time 2D/3D creation, compositing and video-mapping engine.
  • ๐ŸŒŽ Veejay [Linux] - A live performance tool featuring simple non-linear editing and mixing from multiple sources (files, devices, streams...).

Online

  • ๐ŸŒŽ Shadertoy - Build and share shaders with the world and get inspired.
  • ๐ŸŒŽ Shader Park - A JavaScript library for creating interactive procedural 2D and 3D shaders.
  • ๐ŸŒŽ GLSL Sandbox - Online shader editor and gallery.
  • ๐ŸŒŽ Shdr Editor - Online shader editor.
  • ๐ŸŒŽ CodePen - Show case of advanced techniques with editable source code.
  • ย ย ย 919โญ ย ย ย ย 57๐Ÿด Shadershop) - Interface for programming GPU shaders.
  • ๐ŸŒŽ Vertexshaderart - Online shader editor and gallery.
  • ๐ŸŒŽ Cyos - Online shader editor.
  • ๐ŸŒŽ GlslEditor - Simple WebGL Fragment Shader Editor.
  • ๐ŸŒŽ OpenProcessing - Algorithmic Designs Created with Processing, p5js and processingjs.
  • ๐ŸŒŽ P5.js Editor - Online web editor for P5.js.
  • ๐ŸŒŽ LiveCodeLab - Run-as-you-type tool for VJs, musicians, teachers, students, kids.
  • ๐ŸŒŽ Turtletoy - Minimalistic API and online showcase for generative code. (JavaScript)
  • ๐ŸŒŽ ShaderGif - Open source home for art made with code (WebGL1/2, JavaScript Canvas & P5.js).
  • ๐ŸŒŽ P5LIVE - p5.js live-coding environment.
  • ๐ŸŒŽ NEORT - Digital art platform for creative coders (Fragment Shader, JavaScript Canvas).
  • ๐ŸŒŽ Shelly - Learn programming by issuing instructions to a turtle.
  • ๐ŸŒŽ tixy.land - The most minimalist creative coding environment is alive.
  • ๐ŸŒŽ BBC Micro bot - Run your tweet on an 8-bit computer emulator.
  • ๐ŸŒŽ Hydra - Live code-able video synth and coding environment.
  • ๐ŸŒŽ editor.textmode.art - Online web editor for textmode.js.
  • ๐ŸŒŽ synth.textmode.art - Online live coding environment for textmode.js.

Hardware

  • ๐ŸŒŽ Arduino - Open source microcontroller kits for building digital devices and interactive objects.
  • ๐ŸŒŽ Raspberry Pi - Small single-board computers.
  • ๐ŸŒŽ Puck.js - Open source JavaScript microcontroller you can program wirelessly.
  • ๐ŸŒŽ BeagleBoard - Low-power open source single-board computers.
  • ๐ŸŒŽ Makey Makey - Turn everyday objects into touchpads and combine them with the internet.
  • ๐ŸŒŽ Leap Motion - Sensor device that supports hand and finger motions as input.
  • ๐ŸŒŽ AxiDraw - Simple, modern, and precise pen plotter.
  • ๐ŸŒŽ Phidgets - Sensors, input devices and controllers for computers.
  • ๐ŸŒŽ Teensy - USB-based microcontroller development system.
  • ๐ŸŒŽ Lightform - AR projection mapping with built-in depth sensor.

Other

  • ๐ŸŒŽ Structure Synth [Cross-platform] - Application for generating 3D structures by specifying a design grammar.
  • ๐ŸŒŽ F3 [Mac] - Powerful 3D design app that enables you to live code 3D form.
  • ๐ŸŒŽ ShaderTool [Win] - Modern shader IDE for programmers and FX artists.
  • Syphon [Mac] - Allows applications to share frames with one another in realtime.
  • ๐ŸŒŽ KodeLife - Real-time GPU shader editor, live-code performance tool and graphics prototyping sketchpad.
  • ๐ŸŒŽ ISF - GLSL shaders for use in interactive applications.
  • ๐ŸŒŽ glslViewer - Live-coding console tool that renders GLSL Shaders.
  • ๐ŸŒŽ shoebot [Cross-platform] - Shoebot is a creative coding environment designed for making vector graphics and animations with Python.
  • ๐ŸŒŽ DrawBot [Mac] - Education oriented 2d graphics programming environment based on Python.
  • ย ย 2002โญ ย ย ย 186๐Ÿด Klak) - A collection of scripts for creative coding with Unity.
  • ๐ŸŒŽ basil.js - Scripting (JS) in InDesign for designers and artists in the spirit of Processing.
  • ย ย ย ย 67โญ ย ย ย ย ย 2๐Ÿด Konstrukt) [Cross-platform] - A commandline tool to generate different scalable patterns as SVGs.

Learning Resources

Videos

Talks

Articles โ€ข Tutorials

Shaders โ€ข OpenGL โ€ข WebGL

Canvas

Hardware

Other

Interactive

Quick References โ€ข Cheat Sheets

Communities

Subreddits

Slack

Other

Math

Machine Learning โ€ข Computer Vision โ€ข AI

  • ๐ŸŒŽ ml4a - Machine learning for artists.
  • ๐ŸŒŽ Keras.js - Run Keras models (tensorflow backend) in the browser, with GPU support.
  • Tesseract.js - Pure JavaScript Multilingual OCR.
  • ๐ŸŒŽ Google ML - Cloud machine learning by Google.
  • ๐ŸŒŽ TensorFlow - Open source software library for machine intelligence.
  • ๐ŸŒŽ ConvNetJS - Deep Learning in your browser.
  • Wekinator - Allows anyone to use machine learning.
  • ย ย 1002โญ ย ย ย 195๐Ÿด Machine Learning) - Coding Train repo with links to machine learning resources.
  • ๐ŸŒŽ Teachable Machine - Explore how machine learning works, live in the browser.
  • ๐ŸŒŽ TensorFlow.js - JavaScript library for training and deploying ML models in the browser and on Node.js.
  • ๐ŸŒŽ ml5.js - Friendly machine learning for the web.
  • ๐ŸŒŽ Model Zoo - Discover open source deep learning code and pretrained models.
  • ๐ŸŒŽ Runway - AI-powered tools for video and content creation.

Inspiration

  • ๐ŸŒŽ OpenProcessing - Algorithmic Designs Created with Processing, p5js and processingjs.
  • ๐ŸŒŽ Dwitter - Social network for short JavaScript demos.
  • ๐ŸŒŽ Chrome Experiments - Showcase of web experiments written by the creative coding community.
  • ๐ŸŒŽ For your Processing - Projects and tutorials about Processing.
  • ๐ŸŒŽ Art From Code - Code sketches by Keith Peters.
  • ๐ŸŒŽ Generator.x - Flickr group about generative strategies in art & design.
  • ๐ŸŒŽ Generative Art - Flickr group about generative art.
  • ย ย ย 713โญ ย ย ย ย 78๐Ÿด People You Should Follow on CodePen) - List of interesting people worth following.
  • ๐ŸŒŽ Raven Kwok - Tumblr by visual artist Raven Kwok.
  • ๐ŸŒŽ P5Art - Really good collection of experiments in Processing.
  • ๐ŸŒŽ Echophon - Tumblr with visual inspiration.
  • ๐ŸŒŽ Bees & Bombs - Tumblr with gifs by Dave.
  • ๐ŸŒŽ Folds2d - Tumblr with curves, surfaces, scalar and vector fields.

Events

  • ๐ŸŒŽ OFFF Festival - Digital design festival (Online Flash Film Festival).
  • ๐ŸŒŽ Gray Area Festival - Creative coding, art and technology festival.
  • ๐ŸŒŽ Signal Festival - Showcase of light art and emerging technologies in Prague, the Czech Republic.
  • Eyeo Festival - Bring together creative coders, data designers and creators working at the intersection of data, art and technology.
  • ๐ŸŒŽ Mutek - Organization dedicated to digital creativity in sound, music, and audio-visual art.
  • ๐ŸŒŽ Node - An open platform for the exchange on culture, arts and technology.
  • ๐ŸŒŽ Digital Design Days - 3 day event offering conferences, workshops, digital showcases & installations.
  • ๐ŸŒŽ CODAME ART+TECH - Projects and nonprofit events, to inspire through experience.

Museums โ€ข Galleries

Schools โ€ข Workshops

Blogs โ€ข Websites

  • CreativeApplications.Net [CAN] - Famous digital art blog.
  • ๐ŸŒŽ iquilezles.org - Home of รรฑigo Quรญlez, specialised in GLSL and math snippets.
  • bit-101.com - Blog by Keith Peters, specialised in creative coding.
  • ibreakdownshaders - Explore the math behind shaders.
  • adriancourrรจges.com - Blog of software engineer Adrian Courrรจges. Articles about game graphics studies etc.
  • ๐ŸŒŽ clicktorelease.com - Home of Jaume Sanchez Elias, with demos, talks, articles on WebGL and WebVR.
  • syntopia - Blog about generative art and systems, by Mikael Hvidtfeldt Christensen.
  • ๐ŸŒŽ madebyevan.com - WebGL experiments and articles by Evan Wallace.
  • songho.ca - Home of Song Ho Ahn, with a good collection of tutorials on OpenGL and math.
  • ๐ŸŒŽ simonschreibt.de - Game art tricks, design tricks by Simon Schreibt.
  • ๐ŸŒŽ sighack.com - Blog about generative art algorithms and techniques, by Manohar Vanga.
  • ย ย ย ย 16โญ ย ย ย ย ย 6๐Ÿด jsdo.it-archives) - Compilation of WebGL experiments including comparisons on WebGL frameworks and physics engine (oimo.js, cannon.js, ammo.js).
  • ๐ŸŒŽ WebAudio Weekly - Newsletter to know everything about the WebAudio API

Related

  • ย ย 2432โญ ย ย ย 185๐Ÿด Awesome opengl) - Curated list of awesome OpenGL libraries, debuggers and resources.
  • ย ย 1525โญ ย ย ย 101๐Ÿด Awesome webgl) - Curated list of awesome WebGL libraries, resources and much more.
  • ย ย 1855โญ ย ย ย 171๐Ÿด Awesome canvas) - Curated list of awesome HTML5 canvas with examples, related articles and posts.
  • ย ย 5060โญ ย ย ย 347๐Ÿด Awesome audio visualization) - Curated list about Audio Visualization.
  • ย 23498โญ ย ย 4435๐Ÿด Awesome computer vision) - Curated list of awesome computer vision resources.
  • ย ย ย 979โญ ย ย ย ย 94๐Ÿด Awesome visualization research) - Curated list of recommended research papers and other readings on data visualization.
  • ย ย 3267โญ ย ย ย 211๐Ÿด Awesome livecoding) - Curated list of livecoding languages and tools.
  • ย ย 1117โญ ย ย ย ย 88๐Ÿด Awesome graphics) - Curated list of computer graphics tutorials and resources.
  • ย ย 1853โญ ย ย ย 123๐Ÿด Graphics resources) - Curated list of graphic programming resources.
  • ย 17134โญ ย ย 1216๐Ÿด Magic tools) - Curated list of game development resources to make magic happen.
  • ย 78105โญ ย 11753๐Ÿด Awesome public datasets) - Curated list of public available datasets, mostly free resources.
  • ๐ŸŒŽ Link collection of ray marching on the GPU - Curated list from 2013.
  • ย 10194โญ ย ย 1797๐Ÿด 3D Machine Learning) - A resource repository for 3D machine learning.
  • ย ย ย 655โญ ย ย ย ย 44๐Ÿด Awesome creative technology) - Curated list of Creative Technology groups, companies, studios, collectives and more.

License

CC0

To the extent possible under law, ๐ŸŒŽ Terkel Gjervig has waived all copyright and related or neighboring rights to this work.

Source

ย 15197โญ ย ย ย 968๐Ÿด terkelg/awesome-creative-coding)

About

Creative Coding: Generative Art, Data visualization, Interaction Design, Resources. With repository starsโญ and forks๐Ÿด

Topics

Resources

Code of conduct

Contributing

Stars

34 stars

Watchers

2 watching

Forks

Used by

Contributors

Languages