Generative Art and Graphics Programming Glore
A curated list of beginner friendly tutorials, tools, resources and shiny things to get you started.
Table of Contents
- Books
- Math
- Vectors
- Math Snippets
- Glossery
- Shaders
- Glossery
- Tutorials
- Tools
- People to follow
- Resources
- Related aweseomlists
- Shaders
- Glossry lists
- Math
- Tutorials
- Communities
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 - Book that teaches 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.
Math
Communities
- realtimevfx.com - Real Time VFX Community.
- 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.
Tools
- Processing- Computer programming language and IDE for visual arts.
- three.js - JavaScript 3D library.
- Shadertoy - Build and share shaders with the world and get inspired.
- F3 - Powerful 3D design app that enables you to live code 3D form.
- Fragment - Mac app to live code GLSL graphics.
Learning material
- Coding Rainbow -
- Shaders - Shader tutorial in the context of lwjgl-basics.
- WebGL 2 Fundamentals - WebGL2 from the ground up. No magic.
Math
https://github.com/Jam3/math-as-code
- Coding Math - 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/
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
And here: https://thebookofshaders.com/glossary/
And here: http://www.shaderific.com/glsl/
Shader Examples and Snippets
http://pixelshaders.com/examples/
Shaders
https://github.com/ashima/webgl-noise Perlin Noise
Tutorials
Interactive
Fragment-oundry - Fragment shader. http://www.iquilezles.org/live/index.htm http://www.iquilezles.org/www/index.htm 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!)