- Creative Coding History
- Modern Creative Coding Uses
- Graphics concepts
- Creative Coding Environments and Libraries
- Communication Protocols
- Multimedia Tools
- Unique Displays and Touchscreens
- Other output options
- Physical computing
- More resources
In addition to this list, check out these great alternates:
- https://github.com/terkelg/awesome-creative-coding
- https://github.com/kosmos/awesome-generative-art
- Computer graphics & generative art roots
- Frieder Nake
- Georg Nees - Computergrafik
- John Whitney - Catalog (1961)
- Pioneer computer animator John Whitney Sr. in 1959, operating one of the first computer-graphics engines, a mechanical analog computer built largely from surplus World War II anti-aircraft guidance hardware. Source
- "How Computer-Generated Animations Were Made, Circa 1964"
- John Whitney - Lapis (1966)
- "The Incredible Machine" (1968)
- Jim Henson - Cyclia projection mapping prototype (1968)
- Doris Chase - Circles (1969-1970)
- Edward Ihnatowicz - "Senster" (1970)
- Norman McLaren - Synchromy (1971)
- Erkki Kurenniemi - DIMI Ballet (1971)
- John Whitney - Matrix III (1972)
- Ed Catmull - first 3D rendered movie (1972)
- Manfred Mohr - Cube Transformation Study (1972)
- Manfred Mohr - Cubic Limit (1974)
- Carla's Island (1981)
- The Road to Point Reyes (1983)
- Calculated Movements by Larry Cuba (1985)
- Samia Halaby
- A brief history of computer drawing
- The Recode Project - A historical reference for generative art
- Video Games
- Demoscene
- Science & research
- Flash / web era: interactive motion graphics
- GMunk
- Robert Penner (easing algorithms)
- Grant Skinner
- Physical computing & Interactive installations
- The Art of Creative Coding (video)
- Data visualization
- Musical Instruments - Imogen Heap's musical gloves
- Math as music Simple Harmonic Motion
- Modern demoscene: Agenda Circling Forth
- Demos in the browser
- iTunes visualizer / Winamp (Milkdrop)
- Music videos
- Dance + Kinect + Code - Unnamed Sound Sculpture
- Human movement analysis to art - Forms - Quayola and Memo Akten
- Generative jewelry - Nervous System
- Product design & development
- Fashion - Kinematics Dress
- Quadcopters - Meet Your Creator
- 3D Printing - Probability Lattice
- Robotics + Projection mapping + 3D Motion graphics - Box
- Generative visuals - Algorithmic Abstractions
- Generative audio - The Ballad of the Psychotropic Robots & Wiki
- Science! - Crowdsourced protein folding
- Interactive art installations & physical experiences
- Augmented reality
- Digital Art
- Computer-Aided Design
- Architecture
- Game development
- Mobile app development
- Web development
- Non-web UI development
- Touchscreen applications
- Projection Mapping
- Machine learning & AI
- Photogrammery
- Shapes
- Color
- Similarities between drawing environments
- Motion (frame-based vs. web rendering)
- Repetition (for())
- Iteration
- Randomness
- OOP
- Physics / better motion
- Oscillation
- Basic trigonometry (movement & orientation)
- Nature / fractals / Recursion
- Higher level math
- Shaping functions
- 3D
- Data
- Commons tools & concepts
- Easing & interpolation
- Parallax
- Physics simulations
- Morphogenesis
- Fluid dynamics & solvers
- Noise
- Perlin noise for smooth randomness, terrain, textures. More info
- Curl noise
- Fractal Brownian Motion
- Reaction-diffusion
- Voronoi 2
- Delaunay Triangulation
- Fractals & Mandelbulbs 4
- Packing / Space-filling algorithms
- Boids / flocking & particle systems
- Conway's classic Game of Life / cellular autonoma
- Emergence
- Genetic & evolutionary algorithms
- Anti-aliasing algorithms
- Motion Blur
- Feedback 2
- Concave & convex hulls
- Blob & edge detection
- Computer vision (CV) (AR)
- Machine learning & AI
- Hardware acceleration
- 3D / spatial concepts
- 3d projection
- Meshes
- Constructive Solid Geometry
- Raymarching
- Marching cubes
- Ray tracing
- Physically-Based Shading
- Dot Product
- Voxels
- Spherical mathematics, Quaternions and Euler rotation 1
- Bump/Normal/Displacement maps
- Displacement
- NURBS
- Polygon meshes
- Ambient occlusion & 3d lighting
- Superformula
- Dilation / Erosion
- Collision detection
- Optimization via quadtrees or Octrees
- MIP mapping & optimization
General:
- "Advice for Creative Technologists"
- "Why Love Generative Art?"
- "Join the Creative Class"
- "The Brief History of Volumetric Filmmaking"
Algorithmic design:
- On Meta-Design and Algorithmic Design Systems by Rune Madsen
- So you want to build a generator by Kate Compton
- On Generative Algorithms by Inconvergent
- Sketching with Math and Quasi Physics by kynd
- Programming Design Systems
Graphics Programming:
- https://learnopengl.com/
- Introduction to VR Graphics Performance
- Casual Introduction to Low-Level Graphics Programming
- Computational Geometry Tutorial
- Graphics in Plain Language
- A glossary
- A trip through the Graphics Pipeline
- The Graphics Codex
- http://antongerdelan.net/teaching/
- Foundations of Game Engine Development Mathematics
- GPU Performance for Game Artists
- Ray Tracing in One Weekend
- NVIDIA - GPU Gems 3
- A Beginner's Guide to Coding Graphics Shaders
- 3D Game Shaders For Beginners
- List of technical case studies on WebGL and creative development
Audio programming:
Math:
-
Web-based
- Realtime graphics libraries
- Live coding
- Rendering tools
- Audio
- General tools
- Face trackers
- Body trackers
- Fonts
- AR:
- https://developers.google.com/ar/develop/web/getting-started
- https://experiments.withgoogle.com/ar
- https://github.com/mozilla/aframe-xr
- https://github.com/mozilla/three.xr.js/
- https://github.com/jeromeetienne/AR.js
- https://www.wiarframe.com/
- https://www.sparkar.com/ar-studio/
- https://github.com/immersive-web/webxr
- WebVR:
-
GLSL
- GLSL Sandbox
- Shadertoy
- Vertex Shader Art
- Book of Shaders (+ Editor)
- stackgl Shader School
- glslViewer
- Interactive Shader Format
- KodeLife
- editSDF
- WebGL Signed Distance Function Mesher
- [Snelly] (https://github.com/portsmouth/snelly)
- F3 App
- Fragment Foundry
- glsl.io
- glslb.in
- cables.gl
- glslViewer
- LWJGL Basics by @mattdesl
-
Java-based:
-
c++:
-
Swift:
-
Rust:
-
Cross-platform:
-
Node-based:
-
Computer Vision / Image recognition:
-
Machine learning
- Local network & web communication:
- Hardware device communication:
- Blender
- Houdini
- Cinema4d
- Meshlab
- Meshmixer
- Rhino & Grasshopper
- After Effects
- http://www.meshrepair.org/
- Modo
- Sound eXchange (cli conversion tool, a-la ffmpeg)
- Processing:
- openFrameworks
- WebAudio
- JUCE
- Faust
- ChucK
- Supercollider
- Extempore
- Sonic PI
- ORCA
- Overtone
- Alda
- EarSketch
- TidalCycles
- Aubio
- Magenta
- Gimp
- ffmpeg
- imagemagick
- gifsicle
- HAP video format (GPU-accelerated video)
- [https://www.neuronmocap.com/](Perception Neuron)
- https://getrad.co/
- https://blacktrax.cast-soft.com/howitworks/
- Apple trackpad/touchscreen touch/gestures
- Mouse / tablet
- Webcam / Cameras
- See @laserpilot's Guide to Cameras for Interactive Installations
- https://www.amazon.com/Logitech-Widescreen-Calling-Recording-Desktop/dp/B006JH8T3S/
- https://www.logitech.com/en-us/product/4k-pro-webcam?crid=34
- https://www.amazon.com/dp/B01N8QBO2G/ref=asc_df_B01N8QBO2G5276731/
- https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Doffice-products&field-keywords=ELP+Webcam
- https://www.e-consystems.com/
- http://www.cctvcameradvrs.com/3.7mm-f2.8-m12-mount-pinhole-cctv-camera-lens-ir-350nm-650nm
- https://www.axis.com/gb/en/products/axis-p12-series
- https://www.axis.com/gb/en/products/axis-f-series
- https://www.ptgrey.com/
- https://www.vivotek.com/
- https://www.theimagingsource.com/products/industrial-cameras/usb-3.1-monochrome/
- http://www.z-cam.com/
- http://www.marshall-usa.com/cameras/
- CV cameras
- High-frame-rate cameras
- Accelerometer (iOS, Wii, Playstation)
- Sensors
- Conductive Paint
- Leap Motion 1
- Myo
- Gest
- SpaceMouse
- E-textiles
- Brainwaves / EEG
- Buttons / Encoders
- Touchscreen
- Depth cameras
- Comparisons:
- Products:
- Kinect
- Machine learning for MS system white paper
- OpenPTrack
- Kinect v2 Extension cable
- Xtion
- Zed
- Structure Sensor for iPad
- Orbbec
- Intel Realsense
- Intel Euclid
- Xovis
- eys3D
- Mynt Eye
- Nuitrack (skeletal deletion middleware)
- Kinect
- Lidar
- Virtual Reality
- Augmented/Mixed Reality
First, check out Survey of Alternative Displays and Guide to Projectors for Interactive Installations by @laserpilot
- Maker
- Small
- Zotac
- NUC
- Alienware Alpha
- Inspiron Micro (no longer offered)
- Rugged
- Audio over ethernet
- HDMI over ethernet
- MIDI over ethernet
- USB over ethernet
- Dmx over ethernet - female and male
- DMX over Wifi
- USB over Wifi
- Projection mapping
- LED lights
- Lasers
- Spatial audio
- Augmented & Mixed Reality
- Embedded systems
- Arduino & Raspberry PI
- Android Things
- Axoloti
- Yoctopuce
- Laser Cutters
- 3d Printers
- CNC routers
- Robotics
- Textiles & quilting
- Water Features
- Haptic Feedback - Sega Motocross / Fonz (1976)
- Running in place - Nintendo Power Pad 1 (1988)
- Waving your hand around, with buttons - Nintendo Power Glove 1 (1990)
- VR (1977-present) (barf)
- More running in place, but in public - Dance Dance Revolution (1998)
- In general: Expensive industrial fabrication & custom electronics
- Intro to programming @ hello.processing.org
- Introduction to Computational Media
- The Nature of Code by Daniel Shiffman
- Creative Applications
- Create Digital Motion
- Prosthetic Knowledge
- http://hackingforartists.com/
- http://openprocessing.org
- The Art of Creative Coding (PBS)
- The Coding Train by Daniel Shiffman
- Eyeo & Inst-Int conference talks
- GROW Paris conference talks
- How To Draw With Code | Casey Reas
- Demographics: Behind the Scene
- Nature of Code video series
- Introduction to Computational Media
- Designing Generative Systems w/ P5.js
- Clouds documentary
- Indie Game The Movie
- Moleman 2 - Demoscene - The Art of the Algorithms
- Makin' Stuff Look Good in Unity
- Exploring Emergence | Andy Lomas
- Juice it or Lose it
- Paul Prudence @ Synergetica Studiolab
- Marius Watz :: @mariuswatz
- Mr. Doob :: @mrdoob
- Robert Hodgin :: @flight404
- Mario Klingemann :: @quasimondo
- Aaron Koblin :: @aaronkoblin
- Golan Levin :: @golan
- Cedric Kiefer :: @CedricKiefer
- Memo Akten :: @memotv
- Dave Bollinger
- Jared Tarbell
- Nicolas Barradeau :: @nicoptere
- W:Blut :: @wblut
- Inear :: @inear
- Steven Witten :: MathBox
- Jer Thorp :: @blprnt
- Zach Gage :: @helvetica
- Chris O'Shea :: @chrisoshea
- Nervous System
- Yoichiro Kawaguchi
- Felix Woitzel :: @Flexi23
- OutsideOfSociety :: @oosmoxiecode
- Micah Scott
- http://code.google.com/p/simple-openni/
- http://shiffman.net/p5/kinect/
- https://github.com/cinder/Cinder-Kinect
- http://vvvv.org/contribution/kinect
- https://github.com/Sensebloom/OSCeleton
- http://code.google.com/p/osc-kinect/ (uses official Windows SDK)
- http://kinect.childnodes.com/ (uses official Windows SDK for .js access)
- https://github.com/doug/depthjs (cross-platform plugin for Webkit browsers)