diff --git a/README.md b/README.md index b50e855..69ec4ef 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,43 @@ Creative coding is a different discipline than programming systems in which the ## Contents @@ -56,39 +73,54 @@ Creative coding is a different discipline than programming systems in which the - [Foundation HTML5 Animation with JavaScript](http://www.apress.com/us/book/9781430236658) - Everything you need to know to create animation using the HTML5 canvas. - [Playing with chaos](http://www.playingwithchaos.net/) - Programming Fractals and Strange Attractors in JavaScript. - [Ray Tracing in One Weekend](https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8/) - Mini book about Ray Tracing. -- [Learn OpenGL](https://learnopengl.com/) - Extensive tutorial resource for learning Modern OpenGL. -## Subreddits -- [r/creativecoding](https://www.reddit.com/r/creativecoding/) - Sharing and discussing the use of computer programming as a creative discipline. -- [r/raytraycing](https://www.reddit.com/r/raytracing/) - Subreddit on raytracing. -- [r/opengl](https://www.reddit.com/r/opengl/) - News and discussion about OpenGL on all platforms. -- [r/graphicsprogramming](https://www.reddit.com/r/GraphicsProgramming/) - Subreddit on graphics programming. -- [r/processing](https://www.reddit.com/r/processing/) - Subreddit on Processing. -- [r/shaders](https://www.reddit.com/r/shaders/) - Subreddit on shaders. -- [r/proceduralgeneration](https://www.reddit.com/r/proceduralgeneration/) - Subreddit on procedural generation. +## Courses + +- [Create 3D Graphics in JS Using WebGL](https://egghead.io/courses/create-3d-graphics-in-javascript-using-webgl) - Get started creating content with WebGL without any frameworks. +- [Learn HTML5 Graphics and Animation](https://egghead.io/courses/learn-html5-graphics-and-animation) - Introduction to the canvas 2D drawing API. +- [Interactive 3D Graphics](https://classroom.udacity.com/courses/cs291) - Udacity course that teach you the principles of 3D computer graphics. +- [Interactive Computer Graphics](https://www.coursera.org/learn/interactive-computer-graphics) - Computer graphics course from Coursera. +- [Kadenze Creative Coding](http://try.kadenze.com/creative-coder/) - Selection of Kadenze courses covering p5.js, TensorFlow, Max/Jitter, and ChucK. +- [Think. Create. Code](https://www.edx.org/course/think-create-code-adelaidex-code101x-2) - EDX course to learn programming with ProcessingJS. +- [Creative Coding](https://www.futurelearn.com/courses/creative-coding) - FutureLearn course on programming with Processing. +- [Creative Programming for Digital Media & Mobile Apps](https://www.coursera.org/learn/digitalmedia) - Coursera course on creative coding with processing. +- [Imaginary Institute](https://imaginary-institute.com/) - Learn how to create gorgeous interactive graphics. +- [Creative Coding](https://www.futurelearn.com/courses/creative-coding) - Use computer programming as a creative discipline to generate sounds, images, animations and more. +- [Intro to JS: Drawing & Animation](https://www.khanacademy.org/computing/computer-programming/programming) - Use JavaScript and the ProcessingJS library to create drawings and animations. +- [Advanced JS: Natural Simulations](https://www.khanacademy.org/computing/computer-programming/programming-natural-simulations) - Combine JS, ProcessingJS, and mathematical concepts to simulate nature in your programs -## Communities -- [realtimevfx.com](https://realtimevfx.com/) - Real Time VFX Community. -- [creative-dev](https://creative-dev.herokuapp.com/) - Creative Development Slack. -- [The Creative Coding Podcast](http://creativecodingpodcast.com/) - Iain and Seb discuss the ins and outs of creative coding. +## Tools +### Frameworks • Libraries • Ecosystems -## Ecosystems / Frameworks +- [Processing](https://processing.org) [Cross-platform] - Computer programming language and IDE for visual arts. +- [Cinder](https://libcinder.org/) [Cross-platform] - Open source library for professional-quality creative coding in C++. +- [openFrameworks](http://openframeworks.cc/) [Cross-platform] - Open source C++ toolkit for creative coding. +- [C4](http://www.c4ios.com) [iOS] - Open-source creative coding framework for iOS. +- [Unity](https://unity3d.com/) [Mac, Win] - Game engine, but useful for creative coding and installations. +- [hg_sdf](http://mercury.sexy/hg_sdf/) [Cross-platform] - GLSL library for building signed distance functions. -### Desktop -- [Processing](https://processing.org) - Computer programming language and IDE for visual arts. -- [Cinder](https://libcinder.org/) - Open source library for professional-quality creative coding in C++. -- [openFrameworks](http://openframeworks.cc/) - Open source C++ toolkit for creative coding. -- [vvvv](https://vvvv.org/) - Hybrid visual/textual live-programming environment for easy prototyping and development. -- [NodeBox](https://www.nodebox.net/node/) - Cross-platform, node-based GUI for efficient data visualizations and generative design. -- [Structure Synth](http://structuresynth.sourceforge.net/) - Cross-platform application for generating 3D structures by specifying a design grammar. -- [Unity](https://unity3d.com/) - Game engine, but useful for creative coding and installations. -- [i-score](http://www.i-score.org) - Interactive sequencer to control creative coding libraries and toolkits. -- [TouchDesigner](http://www.derivative.ca/) - Visual development platform to create realtime projects. +### Visual Programming Languages + +- [vvvv](https://vvvv.org/) [Mac, Win] - Hybrid visual/textual live-programming environment for easy prototyping and development. +- [NodeBox](https://www.nodebox.net/node/) [Mac, Win] - Cross-platform, node-based GUI for efficient data visualizations and generative design. +- [TouchDesigner](http://www.derivative.ca/) [Mac, Win] - Visual development platform to create realtime projects. +- [Quartz Composer](https://developer.apple.com/library/content/documentation/GraphicsImaging/Conceptual/QuartzComposerUserGuide/qc_intro/qc_intro.html) [Mac] - Development tool for processing and rendering graphical data. +- [Vuo](http://vuo.org/) [Mac] - Live interactive-media programming environment. +- [Max](https://cycling74.com/products/max/) [Mac, Win] - Visual programming language for media. +- [Pure Data](https://puredata.info/) [Cross-platform] - Open source visual programming language for multimedia. + +### Sound Programming Languages + +- [SuperCollider](http://supercollider.github.io/) [Multi-platform] - Platform for audio synthesis and algorithmic composition. +- [ChucK](http://chuck.cs.princeton.edu/) - Strongly-timed, concurrent, and on-the-fly music programming language. +- [TidalCycles](https://tidalcycles.org/) - Domain specific language for live coding of pattern. +- [Sonic Pi](http://sonic-pi.net/) - The live coding music synth for everyone. + +### Web Programming • Libraries -### Web - [three.js](https://github.com/mrdoob/three.js/) - JavaScript 3D library. - [regl](https://github.com/regl-project/regl) - Functional WebGL. - [Stackgl](http://stack.gl/) - Open software ecosystem for WebGL, built on top of browserify and npm. @@ -99,46 +131,115 @@ Creative coding is a different discipline than programming systems in which the - [Sketch.js](http://soulwire.github.io/sketch.js/) - Minimal JavaScript creative coding framework. - [Two.js](https://two.js.org/) - Two-dimensional drawing api geared towards modern web browsers. -### Mobile -- [C4](http://www.c4ios.com) - Open-source creative coding framework for iOS. +### Projection Mapping • VJing + +- [MadMapper](http://www.madmapper.com/) [Mac] - Video mapping projections and Light mapping. +- [VDMX](https://vidvox.net/) [Mac] - Realtime multimedia performance application. +- [Modul8](http://www.modul8.ch/) [Mac] - Real time video mixing and compositing. +- [Resolume](https://resolume.com/) [Mac, Win] - Mixing of digital video and effects in a realtime. +- [CoGe VJ](http://imimot.com/cogevj/) [Mac] - VJ software designed for realtime HD video mixing and compositing with a modular user interface. + +### Online + +- [Shadertoy](https://www.shadertoy.com/) - Build and share shaders with the world and get inspired. +- [GLSLbin](http://glslb.in/) - Fragment shader sandbox with support for glslify. +- [GLSL Sandbox](http://glslsandbox.com/) - Online shader editor and gallery. +- [Shdr Editor](http://shdr.bkcore.com/) - Online shader editor. +- [CodePen](http://codepen.io/) - Show case of advanced techniques with editable source code. +- [Shadershop](http://www.cdglabs.org/Shadershop/) - Interface for programming GPU shaders. + +### Hardware +- [Arduino](https://www.arduino.cc/) - Open source microcontroller kits for building digital devices and interactive objects. +- [Raspberry Pi](https://www.raspberrypi.org/) - Small single-board computers. +- [Intel Edison](https://software.intel.com/en-us/iot/hardware/edison) - Computer-on-module offered by Intel as a development system for wearables and Internet of Things devices. +- [Puck.js](https://www.puck-js.com/) - Open source JavaScript microcontroller you can program wirelessly. +- [BeagleBoard](http://beagleboard.org/) - Low-power open source single-board computers. +- [Makey Makey](http://www.makeymakey.com/) - Turn everyday objects into touchpads and combine them with the internet. +- [Tessel](https://tessel.io/) - Easy to use microcontroller that runs JavaScript. + +### Other + +- [Structure Synth](http://structuresynth.sourceforge.net/) [Cross-platform] - Application for generating 3D structures by specifying a design grammar. +- [i-score](http://www.i-score.org) [Cross-platform] - Interactive sequencer to control creative coding libraries and toolkits. +- [F3](http://www.syedrezaali.com/f3-mac-app/) [Mac] - Powerful 3D design app that enables you to live code 3D form. +- [Fragment](http://www.syedrezaali.com/store/fragment-osx-app) [Mac]- App to live code GLSL graphics. +- [ShaderTool](http://store.steampowered.com/app/314720/) [Win] - Modern shader IDE for programmers and FX artists. +- [Syphon](http://syphon.v002.info/) [Mac] - Allows applications to share frames with one another in realtime. -## Learning material +## Learning Resources + +### Videos + - [The Coding Train](https://www.youtube.com/user/shiffman) - Daniel Shiffman makes videos about creative coding. -- [Shaders](https://github.com/mattdesl/lwjgl-basics/wiki/Shaders) - Shader tutorial in the context of lwjgl-basics. -- [Create 3D Graphics in JS Using WebGL](https://egghead.io/courses/create-3d-graphics-in-javascript-using-webgl) - Get started creating content with WebGL without any frameworks. -- [Learn HTML5 Graphics and Animation](https://egghead.io/courses/learn-html5-graphics-and-animation) - Introduction to the canvas 2D drawing API. +- [MFGD - Fragment Shaders](https://www.youtube.com/playlist?list=PLW3Zl3wyJwWMpFSRpeMmSBGDShbkiV1Cq) - YouTube playlist about fragment shaders. +- [Shaders Laboratory](https://www.youtube.com/channel/UCDk9-aPr8zQzwi4ylnuoJ6w) - YouTube channel about shaders. +- [Makin' Stuff Look Good](https://www.youtube.com/channel/UCEklP9iLcpExB8vp_fWQseg) - YouTube channel about shaders case studies. +- [openFrameworks tutorials](https://www.youtube.com/watch?v=IKSTo_0pB28&index=51&list=PL4neAtv21WOmrV8z9rSzL20QpdLU1zJLr) - YouTube playlist about openFrameworks. +- [Fun with WebGL 2.0](https://www.youtube.com/watch?v=LtFujAtKM5I&list=PLMinhigDWz6emRKVkVIEAaePW7vtIkaIF) - YouTube playlist about WebGL 2.0. + +### Talks + +- [Intro to WebGL](http://davidscottlyons.com/threejs/presentations/frontporch14/) - Intro to WebGL with three.js. +- [Inigo Quilez Live](http://www.iquilezles.org/live/index.htm) - Collection of live coding videos by Íñigo Quílez. +- [There is also canvas](https://slideslive.com/38898318/there-is-also-canvas) - Bruno Imbrizi go through the use of canvas for creative coding at WebExpo 2016. Interactive slides [here](https://brunoimbrizi.github.io/webexpo-2016/dist/). +- [Draw. Move. Fail. Repeat.](http://setimeout.com/workshops/gobelins-2016/) - Slides by [@williamapan](https://twitter.com/williamapan) from his Creative developer workshop at Gobelins. +- [OpenGL 3D Game Tutorials](https://www.youtube.com/playlist?list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP) - Beginners tutorial series about creating 3D games OpenG. + + +### Articles • Tutorials + +#### Shaders • OpenGL • WebGL + +- [Learn OpenGL](https://learnopengl.com/) - Extensive tutorial resource for learning Modern OpenGL. - [WebGL 2 Fundamentals](http://webgl2fundamentals.org/) - WebGL2 from the ground up. No magic. +- [Introduction to shaders](https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/) - Part 1 of an introduction to shaders using threejs. +- [Three.js 101](https://medium.com/@necsoft/three-js-101-hello-world-part-1-443207b1ebe1) - Introduction to three.js from a creative coder perspective. +- [Experimenting with Three.js shaders and the ShaderMaterial](http://blog.2pha.com/experimenting-threejs-shaders-and-shadermaterial) - Introduction to custom mesh shader materials. +- [lwjgl: Shaders](https://github.com/mattdesl/lwjgl-basics/wiki/Shaders) - Shader tutorial in the context of lwjgl-basics. - [Shaders: A primer](https://notes.underscorediscovery.com/shaders-a-primer/) - A primer on shaders. - [Shaders: Second stage](https://notes.underscorediscovery.com/shaders-second-stage/) - The second part to the previous. - [WebGL Lessons — Fragment Shaders](https://github.com/Jam3/jam3-lesson-webgl-shader-intro) - A brief introduction to fragment shaders. - [WebGL Lessons — ThreeJS Shaders](https://github.com/Jam3/jam3-lesson-webgl-shader-threejs) - Using custom vertex and fragment shaders in ThreeJS. - [ThreeJS post-proces example](https://github.com/Jam3/threejs-post-process-example) - example of post-processing effects in ThreeJS. -- [Introduction to shaders](https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/) - Part 1 of an introduction to shaders using threejs. - [Ray Marching and Signed Distance Functions](http://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing) - Introduction to ray tracing. - [Introduction to Ray Tracing](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/) - A simple method for creating 3D images. - [GLSL lighting walkthrough](https://github.com/stackgl/glsl-lighting-walkthrough) - Phong shading tutorial with glslify. -- [Interactive 3D Graphics](https://classroom.udacity.com/courses/cs291) - Udacity course that teach you the principles of 3D computer graphics. -- [Interactive Computer Graphics](https://www.coursera.org/learn/interactive-computer-graphics) - Computer graphics course from Coursera. -- [MFGD - Fragment Shaders](https://www.youtube.com/playlist?list=PLW3Zl3wyJwWMpFSRpeMmSBGDShbkiV1Cq) - YouTube playlist about fragment shaders. -- [Learn OpenGL](https://learnopengl.com/) - Learn the inner workings of computer graphics. -- [Cat Like Coding](http://catlikecoding.com/unity/tutorials/) - Tutorials on math, algorithms, and Unity features. - [Three glslify example](https://github.com/mattdesl/three-glslify-example) - Example on how to use three.js with glslify. -- [Kadenze Creative Coding](http://try.kadenze.com/creative-coder/) - Selection of Kadenze courses covering p5.js, TensorFlow, Max/Jitter, and ChucK. -- [Think. Create. Code](https://www.edx.org/course/think-create-code-adelaidex-code101x-2) - EDX course to learn programming with ProcessingJS. -- [Creative Coding](https://www.futurelearn.com/courses/creative-coding) - FutureLearn course on programming with Processing. -- [Creative Programming for Digital Media & Mobile Apps](https://www.coursera.org/learn/digitalmedia) - Coursera course on creative coding with processing. +- [WebGL Beyond Dom](https://github.com/gregtatum/talk-webgl-beyond-dom) - Greg Tatum explain the basic of WebGL using Regl. +- [FBO particles](http://barradeau.com/blog/?p=621) - Article about FBO/GPGPU particles by @nicoptere. +- [Ray marching (with THREE.js)](http://barradeau.com/blog/?p=575) - Article about ray marching with three.js by @nicoptere. +- [Custom shaders with Three.JS](https://csantosbh.wordpress.com/2014/01/09/custom-shaders-with-three-js-uniforms-textures-and-lighting/) - Introduction to custom shaders, uniforms, textures and lighting in three.js. +- [An intro to modern OpenGL](http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html) - First part of an introduction to modern OpenGL. +- [Modern OpenGL Series](https://github.com/tomdalling/opengl-series) - Good introduction to some of the OpenGL terms. +- [Smooth minimum](http://iquilezles.org/www/articles/smin/smin.htm) - Article about the smooth based primitive union. +- [Modeling with distance functions](http://iquilezles.org/www/articles/distfunctions/distfunctions.htm) - Collection of distance functions in one centralized place. +- [Volumetric rendering](http://www.alanzucconi.com/2016/07/01/volumetric-rendering/) - Explains how to create complex 3D shapes inside volumetric shaders. +- [Real-time Rendering](http://www.realtimerendering.com/) - Book, blog and collection of resources regarding real-time rendering. +- [OpenGL 4 Shaders](http://antongerdelan.net/opengl/shaders.html) - Short and sweet introduction to OpenGL shaders by Anton Gerdelan. +- [OGLdev](http://ogldev.atspace.co.uk/) - Collection of modern OpenGL tutorials by Etay Meiri. +- [OpenGL Tutorial](http://www.opengl-tutorial.org/) - Site is dedicated to tutorials for OpenGL 3.3 and later. +- [On ray casting, ray tracing, ray marching and the like](http://www.hugi.scene.org/online/hugi37/hugi%2037%20-%20coding%20adok%20on%20ray%20casting,%20ray%20tracing,%20ray%20marching%20and%20the%20like.htm) - The title says it all. Introduction by Adok. + +#### Canvas + +- [HTML Canvas Deep Dive](http://joshondesign.com/p/books/canvasdeepdive/toc.html) - Profound introduction to the canvas API. +- [31 days of Canvas tutorials](http://creativejs.com/2011/08/31-days-of-canvas-tutorials/) - Collection of canvas tutorials by Seb Lee-Delisle. + +#### Other + +- [Cat Like Coding](http://catlikecoding.com/unity/tutorials/) - In depth tutorials on math, algorithms and Unity. +- [Fun Programming](http://funprogramming.org/) - Learn creative coding writing simple programs. - [Creative-coding on iOS with C4](http://www.creativeapplications.net/tutorials/creative-coding-on-ios-with-c4-tutorial/) - Introduction to C4 published on Creative Applications. - [COSMOS](http://www.c4ios.com/cosmos/) - An end-to-end tutorial on the design, programming and launch of an app using C4. -- [Fun Programming](http://funprogramming.org/) - Learn creative coding writing simple programs. -- [Imaginary Institute](https://imaginary-institute.com/) - Learn how to create gorgeous interactive graphics. -- [WebGL Beyond Dom](https://github.com/gregtatum/talk-webgl-beyond-dom) - Greg Tatum explain the basic of WebGL using Regl. - [Particle Physics](https://www.khanacademy.org/partner-content/pixar/effects/particle-physics/a/start-here-fx) - Particle physics explained. -- [HTML Canvas Deep Dive](http://joshondesign.com/p/books/canvasdeepdive/toc.html) - Profound introduction to the canvas API. +- [Visualizing Algorithms](https://bost.ocks.org/mike/algorithms/) - Looks at the use of visualization to understand, explain and debug algorithms. - [Adventures in Game Development World](http://ruh.li/) - Easy to understand collection of articles on game developement, but relevant to creative coding as well. +- [Shepherding random numbers](http://inconvergent.net/shepherding-random-numbers/) - Tiny guide to shepherding random numbers. +- [Amit’s Game Programming Information](http://www-cs-students.stanford.edu/~amitp/gameprog.html) - Collection of resources on stuff like path-finding, Ai, math etc. +### Interactive -## Interactive tutorials - [Shader-school](https://github.com/stackgl/shader-school) - Workshop for GLSL shaders and graphics programming. - [Webgl-workshop](https://github.com/stackgl/webgl-workshop) - The sequel to shader-school: Learn the WebGL API. - [Fragment-oundry](http://hughsk.io/fragment-foundry) - Interactive fragment shader tutorial. @@ -149,19 +250,44 @@ Creative coding is a different discipline than programming systems in which the - [Bubble Breakdown](http://mrl.nyu.edu/~perlin/bubble_breakdown/) - Shader breakdown by Perlin. -## Articles -- [Shepherding random numbers](http://inconvergent.net/shepherding-random-numbers/) - Tiny guide to shepherding random numbers. -- [FBO particles](http://barradeau.com/blog/?p=621) - Article about FBO/GPGPU particles by @nicoptere. -- [Ray marching (with THREE.js)](http://barradeau.com/blog/?p=575) - Article about ray marching with three.js by @nicoptere. -- [Visualizing Algorithms](https://bost.ocks.org/mike/algorithms/) - Looks at the use of visualization to understand, explain and debug algorithms. -- [Custom shaders with Three.JS](https://csantosbh.wordpress.com/2014/01/09/custom-shaders-with-three-js-uniforms-textures-and-lighting/) - Introduction to custom shaders, uniforms, textures and lighting in three.js. -- [Modern OpenGL Series](https://github.com/tomdalling/opengl-series) - Good introduction to some of the OpenGL terms. -- [An intro to modern OpenGL](http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html) - First part of an introduction to modern OpenGL. -- [Experimenting with Three.js shaders and the ShaderMaterial](http://blog.2pha.com/experimenting-threejs-shaders-and-shadermaterial) - Introduction to custom mesh shader materials. -- [Three.js 101](https://medium.com/@necsoft/three-js-101-hello-world-part-1-443207b1ebe1) - Introduction to three.js from a creative coder perspective. +### Quick References • Cheatsheets + +- [Shaderific GLSL](http://www.shaderific.com/glsl/) - OpenGL ES shading language reference. +- [The Book of Shaders Glossary](https://thebookofshaders.com/glossary/) - Shader glossary by theme. +- [gltut glossary pages: 1](https://paroj.github.io/gltut/Basics/Intro%20Glossary.html), [2](https://paroj.github.io/gltut/Basics/Tut01%20Glossary.html), [3](https://paroj.github.io/gltut/Basics/Tut02%20Glossary.html), [4](https://paroj.github.io/gltut/Positioning/Tut04%20Glossary.html), [5](https://paroj.github.io/gltut/Positioning/Tut05%20Glossary.html), [6](https://paroj.github.io/gltut/Positioning/Tut06%20Glossary.html), [7](https://paroj.github.io/gltut/Positioning/Tut07%20Glossary.html), [8](https://paroj.github.io/gltut/Positioning/Tut08%20Glossary.html) - OpenGL 3D programming glossary. +- [Canvas Cheatsheet](https://skilled.co/html-canvas/images/HTML_Canvas_Cheatsheet.pdf) - Quick and visual canvas cheatsheet. +- [WebGL Cheatsheet](https://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf) - WebGL 1.0 API reference card. +- [Glossary of Computer Graphics](https://en.wikipedia.org/wiki/Glossary_of_computer_graphics) - Glossary of terms relating computer graphics. +- [GLSL Reference Guide](http://www.cs.cmu.edu/afs/cs/academic/class/15462-f10/www/lec_slides/glslref.pdf) - OpenGL Shading Language quick reference guide. +- [3D Maths Cheat Sheet](http://antongerdelan.net/teaching/3dprog1/maths_cheat_sheet.pdf) - +- [docs.GL](http://docs.gl/) - Improvement of the official OpenGL documentation. +- [OpenGL Shading Language](https://www.khronos.org/opengl/wiki/OpenGL_Shading_Language) - Khronos Group GLSL wiki. + +## Communities + +### Subreddits + +- [r/creativecoding](https://www.reddit.com/r/creativecoding/) - Sharing and discussing the use of computer programming as a creative discipline. +- [r/raytraycing](https://www.reddit.com/r/raytracing/) - Subreddit on raytracing. +- [r/opengl](https://www.reddit.com/r/opengl/) - News and discussion about OpenGL on all platforms. +- [r/graphicsprogramming](https://www.reddit.com/r/GraphicsProgramming/) - Subreddit on graphics programming. +- [r/processing](https://www.reddit.com/r/processing/) - Subreddit on Processing. +- [r/shaders](https://www.reddit.com/r/shaders/) - Subreddit on shaders. +- [r/proceduralgeneration](https://www.reddit.com/r/proceduralgeneration/) - Subreddit on procedural generation. + +### Slack + +- [Creative-Dev Slack](https://creative-dev.herokuapp.com/) - Creative Development Slack. +- [Generative Art Slack](https://genart.herokuapp.com/) - Generative Art Slack. + +### Other + +- [The Creative Coding Podcast](http://creativecodingpodcast.com/) - Iain and Seb discuss the ins and outs of creative coding. +- [realtimevfx.com](https://realtimevfx.com/) - Real Time VFX Community. ## Math + - [Math as code](https://github.com/Jam3/math-as-code) - Cheat-sheet for mathematical notation in code form. - [Coding Math](https://www.youtube.com/user/codingmath) - Teaches you the math you need to understand as a programmer. - [Math snippets](https://github.com/terkelg/math) - Math snippets with graphic programming in mind. @@ -175,26 +301,10 @@ Creative coding is a different discipline than programming systems in which the - [Image Kernels](http://setosa.io/ev/image-kernels/) - Interactive and visual introduction to image kernels. - [Sine and Cosine](http://setosa.io/ev/sine-and-cosine/) - Interactive explination of sine and cosine. - [Perlin Noise](https://eev.ee/blog/2016/05/29/perlin-noise/) - Perlin noise explained in detail. +- [Vector Math for 3D Computer Graphics](http://programmedlessons.org/VectorLessons/) - Tutorial on vector algebra and matrix algebra from the viewpoint of computer graphics. +## Machine learning • Computer Vision • Ai -## Inspiration -- [Shadertoy](https://www.shadertoy.com/) - Build and share shaders with the world and get inspired. -- [GLSLbin](http://glslb.in/) - Fragment shader sandbox with support for glslify. -- [GLSL Sandbox](http://glslsandbox.com/) - Online shader editor and gallery. -- [CodePen](http://codepen.io/) - Show case of advanced techniques with editable source code. -- [OpenProcessing](https://www.openprocessing.org/) - Algorithmic Designs Created with Processing, p5js and processingjs. -- [Dwitter](https://www.dwitter.net/) - Social network for short JavaScript demos. -- [Chrome Experiments](https://www.chromeexperiments.com/) - Showcase of web experiments written by the creative coding community. -- [Codedoodl.es](http://codedoodl.es/) - Showcase of curated creative coding sketches. -- [For your Processing](http://fyprocessing.tumblr.com/) - Projects and tutorials about Processing. -- [31 days of Canvas tutorials](http://creativejs.com/2011/08/31-days-of-canvas-tutorials/) - Collection of canvas tutorials by Seb Lee-Delisle. -- [Art From Code](http://www.artfromcode.com/) - Code sketches by Keith Peters. -- [Generator.x](https://www.flickr.com/groups/generatorx/) - Flickr group about generative strategies in art & design. -- [Generative Art](https://www.flickr.com/groups/generativeart/) - Flickr group about generative art. -- [People You Should Follow on CodePen](https://github.com/nucliweb/People-You-Should-Follow-on-CodePen) - List of interesting people worth following. - - -## Machine Learning / A.I. - [ml4a](http://ml4a.github.io/) - Machine learning for artists. - [Keras.js](https://transcranial.github.io/keras-js/) - Run Keras models (tensorflow backend) in the browser, with GPU support. - [Tesseract.js](http://tesseract.projectnaptha.com/) - Pure Javascript Multilingual OCR. @@ -203,62 +313,62 @@ Creative coding is a different discipline than programming systems in which the - [ConvNetJS](http://cs.stanford.edu/people/karpathy/convnetjs/started.html) - Deep Learning in your browser. - [Wekinator](http://www.wekinator.org/) - Allows anyone to use machine learning. +## Inspiration -## Shaders / OpenGL / WebGL -- [gltut](https://paroj.github.io/gltut/Basics/Intro%20Glossary.html) - 3D programming glossary. -- [Smooth minimum](http://iquilezles.org/www/articles/smin/smin.htm) - Article about the smooth based primitive union. -- [Modeling with distance functions](http://iquilezles.org/www/articles/distfunctions/distfunctions.htm) - Collection of distance functions in one centralized place. -- [Volumetric rendering](http://www.alanzucconi.com/2016/07/01/volumetric-rendering/) - Explains how to create complex 3D shapes inside volumetric shaders. -- [Real-time Rendering](http://www.realtimerendering.com/) - Book, blog and collection of resources regarding real-time rendering. +- [OpenProcessing](https://www.openprocessing.org/) - Algorithmic Designs Created with Processing, p5js and processingjs. +- [Dwitter](https://www.dwitter.net/) - Social network for short JavaScript demos. +- [Chrome Experiments](https://www.chromeexperiments.com/) - Showcase of web experiments written by the creative coding community. +- [Codedoodl.es](http://codedoodl.es/) - Showcase of curated creative coding sketches. +- [For your Processing](http://fyprocessing.tumblr.com/) - Projects and tutorials about Processing. +- [Art From Code](http://www.artfromcode.com/) - Code sketches by Keith Peters. +- [Generator.x](https://www.flickr.com/groups/generatorx/) - Flickr group about generative strategies in art & design. +- [Generative Art](https://www.flickr.com/groups/generativeart/) - Flickr group about generative art. +- [People You Should Follow on CodePen](https://github.com/nucliweb/People-You-Should-Follow-on-CodePen) - List of interesting people worth following. +- [Raven Kwok](https://ravenkwok.tumblr.com/) - Tumblr by visual artist Raven Kwok. +- [P5Art](http://p5art.tumblr.com/) - Really good collection of experiments in Processing. +- [Echophon](http://echophon.tumblr.com/) - Tumblr with visual inspiration. +- [Bees & Bombs](https://beesandbombs.tumblr.com/) - Tumblr with gifs by Dave. -## Tools -- [F3](http://www.syedrezaali.com/f3-mac-app/) - Powerful 3D design app that enables you to live code 3D form. -- [Fragment](http://www.syedrezaali.com/store/fragment-osx-app) - Mac app to live code GLSL graphics. -- [Chrome Shader Editor](https://chrome.google.com/webstore/detail/shader-editor/ggeaidddejpbakgafapihjbgdlbbbpob?hl=en) - Live editing shaders in the browser. -- [ShaderTool](http://store.steampowered.com/app/314720/) - Modern shader IDE for programmers and FX artists. -- [Shadershop](http://www.cdglabs.org/Shadershop/) - Interface for programming GPU shaders. -- [hg_sdf](http://mercury.sexy/hg_sdf/) - GLSL library for building signed distance functions. +## Events + +- [OFFF Festival](http://offf.barcelona/) - Digital design festival (*Online Flash Film Festival*). +- [Resonate](http://resonate.io/) - Festical in Belgrade about cutting edge music, visual arts and digital culture. +- [Gray Area Festival](http://grayareafestival.io/) - Creative coding, art and technology festival. +- [Signal Festival](http://www.signalfestival.com/) - Showcase of light art and emerging technologies in Prague, the Czech Republic. +- [Eyeo Festival](http://eyeofestival.com/) - Bring together creative coders, data designers and creators working at the intersection of data, art and technology. +- [Mutek](http://www.mutek.org/en) - Organization dedicated to digital creativity in sound, music, and audio-visual art. +- [Node](https://nodeforum.org/) - An open platform for the exchange on culture, arts and technology. -## Cheatsheets / References / Glossaries -- [The Book of Shaders Glossary](https://thebookofshaders.com/glossary/) - Shader glossary by theme. -- [GLSL](http://www.shaderific.com/glsl/) - OpenGL ES shading language reference. -- [Canvas Cheatsheet](https://skilled.co/html-canvas/images/HTML_Canvas_Cheatsheet.pdf) - Quick and visual canvas cheatsheet. -- [WebGL Cheatsheet](https://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf) - WebGL 1.0 API reference card. -- [Glossary of Computer Graphics](https://en.wikipedia.org/wiki/Glossary_of_computer_graphics) - Glossary of terms relating computer graphics. -- [GLSL Reference Guide](http://www.cs.cmu.edu/afs/cs/academic/class/15462-f10/www/lec_slides/glslref.pdf) - OpenGL Shading Language quick reference guide. +## Blogs • Websites - -## Talks / Presentations / Videos -- [Intro to WebGL](http://davidscottlyons.com/threejs/presentations/frontporch14/) - Intro to WebGL with three.js. -- [Inigo Quilez Live](http://www.iquilezles.org/live/index.htm) - Collection of live coding videos by Íñigo Quílez. -- [There is also canvas](https://slideslive.com/38898318/there-is-also-canvas) - Bruno Imbrizi go through the use of canvas for creative coding at WebExpo 2016. Interactive slides [here](https://brunoimbrizi.github.io/webexpo-2016/dist/). -- [Draw. Move. Fail. Repeat.](http://setimeout.com/workshops/gobelins-2016/) - Slides by [@williamapan](https://twitter.com/williamapan) from his Creative developer workshop at Gobelins. -- [OpenGL 3D Game Tutorials](https://www.youtube.com/playlist?list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP) - Beginners tutorial series about creating 3D games OpenG. - - -## Websites / Blogs - [abandonedart.org](http://abandonedart.org/) - Generative art blog by Matt Pearso. Good for inspiration. - [iquilezles.org](http://www.iquilezles.org) - Home of Íñigo Quílez, specialised in GLSL and math snippets. - [bit-101.com](http://www.bit-101.com/blog/) - Blog by Keith Peters, specialised in creative coding. - [IBreakDownShaders](http://ibreakdownshaders.blogspot.com.au/) - Explore the math behind shaders. +- [Adrian Courrèges](http://www.adriancourreges.com/blog/) - Blog of software engineer Adrian Courrèges. Articles about game graphics studies etc. +- [Click to Release](https://www.clicktorelease.com) - Home of Jaume Sanchez Elias, with demos, talks, articles on WebGL and WebVR. +## Related -## Related: - [Awesome opengl](https://github.com/eug/awesome-opengl) - Curated list of awesome OpenGL libraries, debuggers and resources. -- [Graphics resources](https://github.com/mattdesl/graphics-resources) - List of graphic programming resources. +- [Awesome webgl](https://github.com/sjfricke/awesome-webgl) - Curated list of awesome WebGL libraries, resources and much more. - [Awesome canvas](https://github.com/raphamorim/awesome-canvas) - Curated list of awesome HTML5 canvas with examples, related articles and posts. - [Awesome audio visualization](https://github.com/willianjusten/awesome-audio-visualization) - Curated list about Audio Visualization. - [Awesome computer vision](https://github.com/jbhuang0604/awesome-computer-vision) - Curated list of awesome computer vision resources. -- [Magic Tools](https://github.com/ellisonleao/magictools) - List of game development resources to make magic happen. -- [Hanecci’s link collection](http://d.hatena.ne.jp/hanecci/20131005/p1) - Link collection of ray marching on the GPU. -- [Awesome visualization research](https://github.com/mathisonian/awesome-visualization-research) - List of recommended research papers and other readings on data visualization. +- [Awesome visualization research](https://github.com/mathisonian/awesome-visualization-research) - Curated list of recommended research papers and other readings on data visualization. - [Awesome livecoding](https://github.com/lvm/awesome-livecoding/) - Curated list of livecoding languages and tools. +- [Awesome graphics](https://github.com/ericjang/awesome-graphics) - Curated list of computer graphics tutorials and resources. +- [Graphics resources](https://github.com/mattdesl/graphics-resources) - Curated list of graphic programming resources. +- [Magic tools](https://github.com/ellisonleao/magictools) - Curated list of game development resources to make magic happen. +- [Hanecci’s link collection](http://d.hatena.ne.jp/hanecci/20131005/p1) - Link collection of ray marching on the GPU. +- [Awesome public datasets](https://github.com/caesar0301/awesome-public-datasets) - Curated list of public avalible datasets, mostly free resources. +- [Link collection of ray marching on the GPU](http://d.hatena.ne.jp/hanecci/20131005/p1) - Curated list from 2013. ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) -To the extent possible under law, [Terkel Gjervig](http://terkel.com) has waived all copyright and related or neighboring rights to this work. +To the extent possible under law, [Terkel Gjervig](http://terkel.com) has waived all copyright and related or neighboring rights to this work. \ No newline at end of file