/awesome-creative-coding

🎨 Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.

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 in which 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.

You might also like Graphics resources and Awesome OpenGL.

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.

Courses

Tools

Frameworks • Libraries • Ecosystems

  • Processing [Cross-platform] - Computer programming language and IDE for visual arts.
  • Cinder [Cross-platform] - Open source library for professional-quality creative coding in C++.
  • openFrameworks [Cross-platform] - Open source C++ toolkit for creative coding.
  • C4 [iOS] - Open-source creative coding framework for iOS.
  • Unity [Mac, Win] - Game engine, but useful for creative coding and installations.
  • hg_sdf [Cross-platform] - GLSL library for building signed distance functions.

Visual Programming Languages

  • vvvv [Mac, 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.
  • i-score [Cross-platform] - Interactive sequencer to control creative coding libraries and toolkits.

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.

Web Programming • Libraries

  • three.js - JavaScript 3D library.
  • 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.
  • Fabric.js - Javascript canvas library, SVG-to-canvas parser.
  • Sketch.js - Minimal JavaScript creative coding framework.
  • Two.js - Two-dimensional drawing api geared towards modern web browsers.

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.
  • CoGe VJ [Mac] - VJ software designed for realtime HD video mixing and compositing with a modular user interface.
  • VirtualMapper - Realtime preview tool for projection mapping.

Online

  • Shadertoy - Build and share shaders with the world and get inspired.
  • GLSLbin - Fragment shader sandbox with support for glslify.
  • GLSL Sandbox - Online shader editor and gallery.
  • Shdr Editor - Online shader editor.
  • CodePen - Show case of advanced techniques with editable source code.
  • Shadershop - Interface for programming GPU shaders.
  • Vertexshaderart - Online shader editor and gallery.

Hardware

  • Arduino - Open source microcontroller kits for building digital devices and interactive objects.
  • Raspberry Pi - Small single-board computers.
  • Intel Edison - Computer-on-module offered by Intel as a development system for wearables and Internet of Things devices.
  • 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.
  • Tessel - Easy to use microcontroller that runs JavaScript.
  • Leap Motion - Sensor device that supports hand and finger motions as input.

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.
  • Fragment [Mac]- App to live code GLSL graphics.
  • 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.

Learning Resources

Videos

Talks

Articles • Tutorials

Shaders • OpenGL • WebGL

Canvas

Other

Interactive

Quick References • Cheatsheets

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.
  • Machine Learning - Coding Train repo with links to machine learning resources.
  • CreativeAi.net - Space to share creative Ai projects.
  • AI Playbook - Ai microsite intended to help newcomers get started.

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.
  • Codedoodl.es - Showcase of curated creative coding sketches.
  • 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.
  • 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.
  • DevArt - Celebration of art made with code by artists that push the possibilities of creativity.
  • Folds2d - Tumblr with curves, surfaces, scalar and vector fields.

Events

  • OFFF Festival - Digital design festival (Online Flash Film Festival).
  • Resonate - Festical in Belgrade about cutting edge music, visual arts and digital culture.
  • 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.

Blogs • Websites

  • abandonedart.org - Generative art blog by Matt Pearso. Good for inspiration.
  • 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.
  • Adrian Courrèges - Blog of software engineer Adrian Courrèges. Articles about game graphics studies etc.
  • Click to Release - Home of Jaume Sanchez Elias, with demos, talks, articles on WebGL and WebVR.

Related

License

CC0

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