# Creative Coding Glore > A curated list of beginner friendly tutorials, tools, resources and shiny things to get you started. [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) ## Table of Contents [Coming when I have a final strucure] ## Books - [Generative Art: A Practical Guide](http://zenbullets.com/book.php) - A practical guide using Processing. - [Generative Design](http://www.generative-gestaltung.de/) - Visualize, Program, and Create with Processing. - [The Nature of Code](http://natureofcode.com/) - Simulating natrual systems with Processing. - [The Book of Shaders](https://thebookofshaders.com/) - Step-by-step guide through the abstract and complex universe of Fragment Shaders. - [Programming Design Systems](https://programmingdesignsystems.com/) - Book that teaches a practical introduction to the new foundations of graphic design. - [Pixel Shaders](http://pixelshaders.com/) - An Interactive Introduction to Graphics Programming. - [Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut/) - A series of tutorials on using OpenGL to do graphical rendering. - [Scratchapixel 2.0](http://www.scratchapixel.com/) - Learn Computer Graphics From Scratch! - [Programming Interactivity](http://shop.oreilly.com/product/9780596154158.do) - A Designer's Guide to Processing, Arduino, and openFrameworks. - [Algorithms for Visual Design Using the Processing Language](https://www.amazon.com/gp/0470375485/) - Experiment with design problems to create 3D animations, GUIs, and more. - [Data-driven Graphic Design](https://www.amazon.com/dp/1472578309/) - Creative Coding for Visual Communication. # Subreddits - [r/rraytraycing](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. # Communities - [realtimevfx.com](https://realtimevfx.com/]) - Real Time VFX Community. # Frameworks - [Processing]()- 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. # Tools - [Shadertoy](https://www.shadertoy.com/) - Build and share shaders with the world and get inspired. - [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. # Libs / Ecosystems - [Stackgl](http://stack.gl/) - Open software ecosystem for WebGL, built on top of browserify and npm. - [three.js](https://github.com/mrdoob/three.js/) - JavaScript 3D library. ## Learning material - [Coding Rainbow](https://www.youtube.com/user/shiffman) - - [Shaders](https://github.com/mattdesl/lwjgl-basics/wiki/Shaders) - Shader tutorial in the context of lwjgl-basics. - [WebGL 2 Fundamentals](http://webgl2fundamentals.org/) - WebGL2 from the ground up. No magic. - [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. ## Interactive tutorials - [Shader-school](https://github.com/stackgl/shader-school) - A workshopper 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. - https://www.shadertoy.com/view/Xl2XWt - https://www.shadertoy.com/view/XllGW4 - https://www.shadertoy.com/view/XlBGDW - https://www.shadertoy.com/view/Md23DV (2D!) ## Math - [Math as code](https://github.com/Jam3/math-as-code) - - [Coding Math](https://www.youtube.com/user/codingmath) - Video tutorials designed to teach you the math you need to understand as a programmer. - https://paroj.github.io/gltut/Basics/Intro%20Graphics%20and%20Rendering.html - http://web.cs.wpi.edu/~emmanuel/courses/cs543/slides/lecture04_p1.pdf ## Raytracing - http://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work - http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/ ### Shader References - https://thebookofshaders.com/glossary/ - http://www.shaderific.com/glsl/ - https://paroj.github.io/gltut/Basics/Intro%20Glossary.html ## Related awesome lists: - https://github.com/raphamorim/awesome-canvas - http://pixelshaders.com/external.html ## Glossery Take from here: https://paroj.github.io/gltut/Basics/Intro%20Glossary.html ## Shader Examples and Snippets - http://pixelshaders.com/examples/ - https://github.com/ashima/webgl-noise Perlin Noise - http://www.iquilezles.org/live/index.htm - http://www.iquilezles.org/www/index.htm # Websites / Blogs - http://abandonedart.org/ - http://www.iquilezles.org # People to follow