- Creative Coding History
- Modern Creative Coding Uses
- Graphics Concepts
- Creative Coding Environments and Libraries
- Communication Protocols
- Multimedia Tools
- Unique Displays and Touchscreens
- Hardware
- Other output options
- More resources
In addition to this list, check out these awesome lists:
- https://github.com/terkelg/awesome-creative-coding
- https://github.com/kosmos/awesome-generative-art
- https://github.com/danvoyce/awesome-creative-tech-events
- Open source, experimental, and tiny tools roundup by Everest Pipkin
- Graphics Programming Weekly
- Computer graphics & generative art roots
- Algorithmic Signs - Five pioneers of computer art in conversation
- Vera Molnár
- 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 & Fred Parke - first 3D rendered movie (1972)
- Manfred Mohr - Cube Transformation Study (1972)
- Ed Catmull & Fred Parke - Early CGI Facial Animation (1974)
- Karl Sims - Evolved Virtual Creatures (1994)
- Algorithmic Signs - Five pioneers of computer art in conversation
- Historic overviews
- The Recode Project - A historical reference for generative art
- "Why Love Generative Art?"
- Demoscene
- Flash era: interactive motion graphics
- GMunk
- Robert Penner (easing algorithms)
- Grant Skinner
- Physical computing
- Sega Motocross / Fonz (1976)
- Nintendo Power Pad 1 (1988)
- Nintendo Power Glove 1 (1990)
- VR (1977-present)
- Dance Dance Revolution (1998)
- Data visualization
- Musical Instruments - Imogen Heap's musical gloves
- Math as music Simple Harmonic Motion
- Modern demoscene: Agenda Circling Forth
- iTunes visualizer / Winamp (Milkdrop)
- Music videos
- Modern dance - Unnamed Sound Sculpture
- Human movement analysis to art - Forms - Quayola and Memo Akten
- Generative jewelry - Nervous System
- Product design & development
- Fashion - Kinematics Dress
- Quadcopters
- 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
- Kinetic Sculpture
- Immersive spaces
- 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
- Math as Code by Jam3
- Shaping functions
- 3D
- Data
- Commons tools & concepts
- Anti-aliasing algorithms
- Barycentric vs. Bilinear
- Blob detection
- Cellular autonoma
- Collision detection
- Computer vision (CV)
- Concave & convex hulls
- Diffusion Limited Aggregation
- Dilation / Erosion
- Easing & interpolation
- Edge detection
- Emergence
- Feedback 2
- Genetic & evolutionary algorithms
- Hardware acceleration
- Instancing
- Kalman Filters
- Lissajous Curves
- Lorenz & Strange Attractors
- Map projections
- Marching Squares
- MIP mapping & optimization
- Motion Blur
- Noise
- Perlin noise for smooth randomness, terrain, textures. More info
- Curl noise
- Fractal Brownian Motion
- Packing
- Parallax
- Post-processing effects
- Reaction-diffusion
- Space-filling algorithms
- Style Transfer
- Voronoi 2
- Wave Function Collapse
- 3D / spatial concepts
- Ambient occlusion (Slides) & 3d lighting
- Bump/Normal/Displacement maps
- Displacement
- Dot Product / Explainer gif
- Marching cubes
- MatCap
- Meshes
- NURBS
- Optimization via quadtrees or Octrees
- Physically-Based Shading
- Projection (3D)
- Raymarching
- Raymarching Demo
- Raymarching Demo 2
- Raymarching Intro
- Raymarching: more
- Ray Marching by Michael Walczyk
- Raymarching Workshop
- 28 GLSL tutorials
- Inigo Quilez: LIVE Shader Deconstruction
- Raymarching Template
- Getting started with shaders: signed distance functions!
- SDF Tutorial 1 : box & balloon
- Simple Raymarching Example Scene
- Shader Coding: Ray Marching Tips & Tricks
- Volumetric Rendering
- Raymarching
- Ray tracing
- Spherical mathematics, Quaternions and Euler rotation 1
- Sub Surface Scattering
- Superformula
- Natural simulations (some borrowed from @AmnonOwed @ this repo)
- Algorithmic Botany
- Biomimicry
- Boids / flocking & particle systems
- Emergence
- Evolutionary Computing
- Flocking
- Flow Fields
- Fluid dynamics & solvers
- Form-Finding
- Fractal Modeling
- Fractals & Mandelbulbs 4
- Genetic Algorithms
- Greeble
- Laplacian Growth
- Lindenmayer-Systems
- Morphogenesis
- Morphogenesis resources
- Space Colonization
- Physics simulations
- Reaction-Diffusion
- Self-Organization
General:
- "Advice for Creative Technologists"
- "Why Love Generative Art?"
- "Join the Creative Class"
- "The Brief History of Volumetric Filmmaking"
- The Missing Semester of Your CS Education
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
- The Algorithm Thought Police
- Programming Design Systems
- Generative Possibility Space
- GenerativeHut tutorials
- Line by wblut
Graphics Programming:
- https://learnopengl.com/
- WebGL Guide
- 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
- GPU Optimization for Game Dev
- 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
- @mattdesl's workshop-webgl-glsl
- Starting with Shaders
- Real-time refraction
- Generative Art with CSS
- Crosshatch Automata
- Material Design on the GPU
Audio programming:
- George E. Lewis: Why Do We Want Our Computers to Improvise?
- Generating music in the waveform domain
- https://ccrma.stanford.edu/~jos/
Math:
Machine Learning:
- Computer Arts Society
- Coding Math
- The Coding Train
- The Art of Code
- TheChernoProject
- Inigo Quilez
- Code Parade
- Hopson
- The Art of Code
- Sebastian Lague
- Ben Eater
- Brackeys
- ThinMatrix
- Kristin Stock
- GDC
- ACM SIGGRAPH
- Ars Electronica
- Revision Festival
- Algorithmic Art
- https://online-learning.harvard.edu/course/cs50-introduction-computer-science
- https://www.edx.org/course/computer-science-101
- https://teachyourselfcs.com/
- https://github.com/prakhar1989/awesome-courses
- https://github.com/shiv4nsh/awesome-computer-science-resources
- https://github.com/onlurking/awesome-infosec
- https://github.com/donnemartin/system-design-primer
- https://github.com/infoslack/awesome-web-hacking
-
Web-based
- Realtime graphics libraries
- curtains.js
- Live coding
- Rendering tools
- Audio
- Voice-recognition
- General tools
- Face trackers
- WebGazer.js
- Body trackers
- Fonts
- Augmented/Mixed/Virtual Reality
- WebXR
- AR.js
- 8th Wall
- Hardware access
- Multi-user sync
- CSS
-
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
- shaderfrog
- glslViewer
- LWJGL Basics by @mattdesl
- shader-doodle by @halvves
- Shader Booth
-
Java-based:
-
c++:
-
Swift:
-
Rust:
-
Cross-platform:
-
Node-based:
-
Computer Vision / Image recognition:
-
Machine learning
-
Virtual Reality
-
Augmented/Mixed Reality
-
Data processing
- Local network & web communication:
- Hardware device communication:
- MIDI
- Lighting
- ArtNet
- DMX
- sACN
- Video streaming & shared textures
- Audio & MIDI device sharing
- https://github.com/PipeWire/pipewire
- Jack Audio Connection Kit
- BlackHole (Soundflower replacement for OS X)
- MIDI-OX
- Multi-protocol timeline tools
- 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
- Earsketch
- Supercollider
- Extempore
- Sonic PI
- ORCA
- Overtone
- Alda
- EarSketch
- TidalCycles
- Aubio
- Magenta
- VCV Rack (+ plugin docs)
- Glipse Editor
- 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
- Cameras
- See @laserpilot's Guide to Cameras for Interactive Installations
- Webcams
- 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/
- Depth cameras
- Comparisons:
- Products:
- Kinect
- Machine learning for MS system white paper
- OpenPTrack
- Xtion
- Zed
- Structure Sensor for iPad
- Orbbec
- Intel Realsense
- Intel Euclid
- Xovis
- eys3D
- Mynt Eye
- Nuitrack (skeletal deletion middleware)
- Kinect
- 3D Scanning / Photogrammetry Apps
- Trnio
- Bellus3D FaceApp
- CV cameras
- 360 cameras
- High-frame-rate cameras
- Lidar
- Radar
- Ultrasound vision
- Accelerometer/position
- Sensors
- Unique controllers
- Leap Motion 1
- Myo
- Gest
- Litho
- Brainwaves / EEG
- E-textiles
- Buttons / Encoders
- Touchscreen
- Bluetooth
- Voice recognition
First, check out Survey of Alternative Displays and Guide to Projectors for Interactive Installations by @laserpilot
- Volumetric displays
- Transparent displays
- Transparent displays
- Odd screen sizes
- Outdoor screens
- Flexible displays
- Flexible LED tile
- Tiny high-res display
- Watchout
- Matrox TripleHead2Go
- Ambery HDMI multi-screen layout
- Datapath FX4
- Alternative: Gofanco Prophecy
- 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
- El Gato Camlink
- Mokose
- MiraBox Capture Card
- Epiphan AV.io
- Inogeni
- Magewell SDI to UVC USB plus Marshall Electronics CV343
- Projection mapping
- LED lights
- Lasers
- Robot arms
- Laser Cutters
- CNC routers
- Pen plotters
- Axidraw - v3ga's template
- 3d Printers
- Spatial audio
- Augmented & Mixed Reality
- Embedded systems
- Arduino & Raspberry PI
- Android Things
- Axoloti
- Yoctopuce
- HTTP-controlled power strips
- Robotics
- Textiles & quilting
- Water Features
- Intro to programming @ hello.processing.org
- Introduction to Computational Media
- The Nature of Code by Daniel Shiffman
- Creative Applications
- Create Digital Motion
- Prosthetic Knowledge
- Flowing Data
- http://hackingforartists.com/
- OpenProcessing
- WebGL Fundamentals
- THREE.js Fundamentals
- Discover THREE.js
- ARS Electronica
- Eyeo Festival
Inst-int- Visualized
Resonate- SIGGRAPH
- Transmediale
- Hackaday Superconference
- OFFF
- Gray Area Festival
- NODE forum
- FITC
- 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
- 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
- "Abuse of An Algorithm Comes As No Surprise" by Marius Watz
- Creating Interactive Visuals for Large Audiences (Joel Pryde)
- The Limits of Learning, by Kyle McDonald @ Sónar+D
- Computational Craft by Gillian Smith
- Generative Art - Computers, Data, and Humanity
- Kate Compton: Creating generative art with Javascript
- Tim Holman - Generative Art Speedrun
- Generative Machines with Matt DesLauriers
- 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