Files
awesome-creative-coding/README.md
2016-11-16 09:57:41 -08:00

113 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Awesome Creative Coding [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](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]
## 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
[![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.