113 lines
6.9 KiB
Markdown
113 lines
6.9 KiB
Markdown
# Awesome Creative Coding [](https://github.com/sindresorhus/awesome)
|
||
|
||
> 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 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/) - 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.
|
||
- [creative-dev](https://creative-dev.herokuapp.com/) - Creative Developement Slack.
|
||
|
||
|
||
## 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.
|
||
- [regl](https://github.com/regl-project/regl) - Functional WebGL.
|
||
|
||
|
||
## 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.
|
||
- [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.
|
||
|
||
|
||
## 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.
|
||
- [SDF Tutorial 1: box & balloon](https://www.shadertoy.com/view/Xl2XWt) - Shadertoy tutorial on raytracing.
|
||
- [HOWTO: Ray Marching](https://www.shadertoy.com/view/XllGW4) - Shadertoy tutorial on Ray Marching.
|
||
- [Raymarch Tutorial2](https://www.shadertoy.com/view/XlBGDW) - Shadertoy raymarch tutorial.
|
||
- [GLSL 2D Tutorials](https://www.shadertoy.com/view/Md23DV) - Shadertoy GLSL 2D Tutorial.
|
||
|
||
## Articles
|
||
- [Shepherding random numbers](http://inconvergent.net/shepherding-random-numbers/) - Tiny guide to shepherding random numbers.
|
||
|
||
## Math
|
||
- [Math as code](https://github.com/Jam3/math-as-code) - A cheat-sheet for mathematical notation in code form.
|
||
- [Coding Math](https://www.youtube.com/user/codingmath) - Video tutorials designed to teach you the math you need to understand as a programmer.
|
||
– [Math snippets](https://github.com/terkelg/math) - Math snippets with graphic programming in mind.
|
||
- [Formul Animations](https://www.youtube.com/watch?v=0ifChJ0nJfM) - https://www.youtube.com/watch?v=0ifChJ0nJfM - The principles of painting with maths.
|
||
|
||
|
||
## Shader References
|
||
- [The Book of Shaders Glossary](https://thebookofshaders.com/glossary/) - Shader glossary by theme.
|
||
- [GLSL](http://www.shaderific.com/glsl/) - OpenGL ES shading language reference.
|
||
- [gltut](https://paroj.github.io/gltut/Basics/Intro%20Glossary.html) - 3D programming glossary.
|
||
|
||
|
||
## Related:
|
||
- [Awesome-canvas](https://github.com/raphamorim/awesome-canvas) - Awesome list for Canvas.
|
||
|
||
|
||
## Websites / Blogs
|
||
- [abandonedart.org](http://abandonedart.org/) - Generative art ideas by Matt Pearson.
|
||
- [iquilezles.org](http://www.iquilezles.org) - Home of Íñigo Quílez.
|
||
|
||
|
||
## To be sorted
|
||
- http://www.iquilezles.org/live/index.htm
|
||
- http://www.iquilezles.org/www/index.htm
|
||
|
||
|
||
## License
|
||
|
||
[](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.
|