a3f53b296752c332094636180e21ca57979338dd
Awesome Creative Coding 
A curated list of beginner-friendly tools, resources and shiny things to get you started with creative coding.
Work in progess, needs better organization
Table of Contents
[Coming]
Books
- Generative Art: A Practical Guide - A practical guide using Processing.
- Generative Design - Visualize, Program, and Create with Processing.
- The Nature of Code - Simulating natrual systems with Processing.
- The Book of Shaders - Step-by-step guide through the abstract and complex universe of fragment shaders.
- Programming Design Systems - A practical introduction to the new foundations of graphic design.
- Pixel Shaders - An Interactive Introduction to Graphics Programming.
- Learning Modern 3D Graphics Programming - A series of tutorials on using OpenGL to do graphical rendering.
- Scratchapixel 2.0 - Learn Computer Graphics From Scratch.
- Programming Interactivity - A Designer's Guide to Processing, Arduino, and openFrameworks.
- Algorithms for Visual Design Using the Processing Language - Experiment with design problems to create 3D animations, GUIs, and more.
- Data-driven Graphic Design - Creative Coding for Visual Communication.
Subreddits
- r/creativecoding - Sharing and discussing the use of computer programming as a creative discipline.
- r/rraytraycing - Subreddit on raytracing.
- r/opengl - News and discussion about OpenGL on all platforms.
- r/graphicsprogramming - Subreddit on graphics programming.
- r/processing - Subreddit on Processing.
- r/shaders - Subreddit on shaders.
- r/proceduralgeneration - Subreddit on procedural generation.
Communities
- realtimevfx.com - Real Time VFX Community.
- creative-dev - Creative Developement Slack.
- The Creative Coding Podcast - Podcast where Iain and Seb discuss the ins and outs of programming for creative applications.
Ecosystems / Frameworks
Desktop
- Processing- Computer programming language and IDE for visual arts.
- Cinder - Open source library for professional-quality creative coding in C++.
- openFrameworks - Open source C++ toolkit for creative coding.
- vvvv - Hybrid visual/textual live-programming environment for easy prototyping and development.
- three.js - JavaScript 3D library.
Web
- 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.
Learning material
- Coding Rainbow - Daniel Shiffman makes videos about creative coding.
- Shaders - Shader tutorial in the context of lwjgl-basics.
- [Create 3D Graphics in JavaScript Using WebGL](- https://egghead.io/courses/create-3d-graphics-in-javascript-using-webgl) - Get started creating content with WebGL without any frameworks.
- WebGL 2 Fundamentals - WebGL2 from the ground up. No magic.
- Shaders: A primer - A primer on shaders.
- Shaders: Second stage - The second part to the previous.
- WebGL Lessons — Fragment Shaders - A brief introduction to fragment shaders.
- WebGL Lessons — ThreeJS Shaders - Using custom vertex and fragment shaders in ThreeJS.
- Ray Marching and Signed Distance Functions - Introduction to ray tracing.
- Introduction to Ray Tracing - A simple method for creating 3D images.
- GLSL lighting walkthrough - Phong shading tutorial with glslify.
Interactive tutorials
- Shader-school - A workshopper for GLSL shaders and graphics programming.
- Webgl-workshop - The sequel to shader-school: Learn the WebGL API.
- Fragment-oundry - Interactive fragment shader tutorial.
- SDF Tutorial 1: box & balloon - Shadertoy tutorial on raytracing.
- HOWTO: Ray Marching - Shadertoy tutorial on Ray Marching.
- Raymarch Tutorial2 - Shadertoy raymarch tutorial.
- GLSL 2D Tutorials - Shadertoy GLSL 2D Tutorial.
Articles
- Shepherding random numbers - Tiny guide to shepherding random numbers.
- FBO particles - Article about FBO/GPGPU particles by @nicoptere.
- Ray marching (with THREE.js) - Article about ray marching with three.js by @nicoptere.
Math
- Math as code - A cheat-sheet for mathematical notation in code form.
- Coding Math - Video tutorials designed to teach you the math you need to understand as a programmer. – Math snippets - Math snippets with graphic programming in mind.
- Formul Animations - The principles of painting with maths.
Inspiration
- 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.
- CodePen - Show case of advanced techniques with editable source code.
- 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.
Machine Learning / A.I.
- 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.
Shader References
- The Book of Shaders Glossary - Shader glossary by theme.
- GLSL - OpenGL ES shading language reference.
- gltut - 3D programming glossary.
Tools
- F3 - Powerful 3D design app that enables you to live code 3D form.
- Fragment - Mac app to live code GLSL graphics.
- Chrome Shader Editor - Live editing shaders in the browser.
- ShaderTool - Modern shader IDE for programmers and FX artists.
Presentations
- There is also canvas - Presentation by Bruno Imbrizi from WebExpo 2016.
- Intro to WebGL - Intro to WebGL with three.js.
Websites / Blogs
- abandonedart.org - Generative art ideas by Matt Pearson.
- iquilezles.org - Home of Íñigo Quílez.
Related:
- Awesome canvas - Awesome list for Canvas.
- Awesome audio visualization - A curated list about Audio Visualization.
To be sorted
License
To the extent possible under law, Terkel Gjervig has waived all copyright and related or neighboring rights to this work.
Description
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
3d-graphicsartawesomeawesome-listcomputer-graphicscreative-codingdata-visualizationdesigngenerative-artgraphics-programminginformation-visualizationinteraction-designlistprogramming-graphicsresourcesshaderswebgl
Readme
856 KiB
Languages
HTML
100%