# Learning. The code examples, books, and hacks presented here present learning materials in the range from basic to advanced.

This concise introduction to using Processing covers basic drawing, exporting, saving files, rendering to different contexts (2D, 3D, PDF), and talks about the ideas of "sketching" that underlie working with Processing.

| Processing: A Programming Handbook for Visual Designers and Artists Casey Reas and Ben Fry MIT Press, 736 pages Sample chapters and example downloads.

| Visualizing Data Ben Fry O'Reilly, 384 pages

| Processing: Creative Coding and Computational Art Ira Greenberg Friends of Ed, 840 pages

| Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction Daniel Shiffman Morgan Kaufmann, 450 pages

| Making Things Talk Tom Igoe O'Reilly, 428 pages

More books related to Processing are included on the Books page.

Tutorials are a collection of step-by-step lessons covering beginner, intermediate, and advanced topics.
Basic examples introduce the primary elements of computer programming and the fundamental elements of drawing with Processing. If you are new to programming, these examples can be a part of the learning process, but they are not detailed or descriptive enough to be used alone. If you have prior experience, they will show you how to apply what you know to using Processing.

Topic examples build on the basics; they demonstate code for animation, drawing, interaction, interface, motion, simulation, file i/o, cellular automata, fractals, and l-systems.

3D examples show the basics of drawing in 3D. Processing has two 3D renderers that can draw 3D shapes on screen and control lighting and camera parameters. The P3D renderer is an optimized software renderer and the OPENGL renderer uses JOGL to access OpenGL accelerated graphics cards (this creates an enormous speed improvement on computers with supported graphics cards.)

Libraries examples demonstrate how to use some of Processing's many libraries. The libraries enable Processing to capture and play video, import SVG files, export PDF files, communicate using the Internet and RS-232 protocols, create and play sound files, and more...