Preface

Cinder is one of the most powerful open source creative coding frameworks that is available right now on the Internet. It is based on one of the most popular and powerful intermediate-level programming language C++ and relies on minimum third-party libraries. It is a combination of low-level and high-level language features, and that makes it relatively easy to grasp for those who have a higher-level programming language background.

Cinder can be considered the next-level creative coding framework for those who are familiar with Processing, ActionScript, or other similar high-level programming languages or frameworks. Cinder may seem similar to openFrameworks, it is, in terms since it is based on C++, but the philosophy behind the framework is a bit different.

openFrameworks is based on a lot of third-party libraries that do the job and sometimes may make a simple application to be big in size. Cinder is different in terms, that is, it tries to make use of the features of the operating system that it runs on. It does not mean that it is better than openFrameworks, but for some scenarios it may be more efficient than the other one.

Programming is something that rapidly becomes a skill that everyone should know. Estonia just introduced computer programming learning for all children attending school, meaning that everyone from Grades 1 to 12 are learning how to code. It is not hard to believe that there will be a lot of other countries that will follow. This means that in the future computer technology will be everywhere more than it is today and the situation will demand a vast amount of people who will need to take care of it. Another fact is that we most probably will see programming in more and more fields that previously had weak or absolutely no connection to it.

And that is where creative coding comes in. Creative coding is becoming more and more popular these days as even more people start to appreciate the logical and interactive dimension that programming can give to their work. It is possible to create a painting that paints itself, a live sculpture, or an interactive chair that does not let anyone to sit on it—the possibilities are endless. It is only the matter of ones creativity and programming knowledge.

One thing that is important in todays creative coding frameworks is performance and flexibility. Usually the more powerful and flexible a framework is, the harder it is to learn it. As Cinder is both, flexible, and powerful, it is not an easy task to understand how to use it.

This book is a trial to make the Cinder learning curve less steep. Through a collection of simple guided examples, we will try to cover the basic functionality that is usually provided by other creative coding tools.

What this book covers

Chapter 1, Learn Cinder Basics – Now!, provides a brief introduction about creative coding and Cinder. It will help you to set up and test Cinder on Mac OS X and Windows machines.

Chapter 2, Know What is Possible – The Cinder Toolset, introduces you to various basic tasks that can be performed with Cinder through compiling, running, and discussing some of the Cinder sample applications.

Chapter 3, Initial Setup – Creating the BaseApp, explains how to create a base project by using Cinder's integrated tool TinderBox, and from scratch.

Chapter 4, Prepare Your Brushes – Drawing Basic Shapes, provides insight into Cinder's built-in basic shape drawing functions that are usually there in other creative coding frameworks.

Chapter 5, Making Use of Images – Loading and Displaying, explains loading and displaying of images, which is an important part of every creative coding language. In this chapter we will learn how to load and display images from local and networked storage with Cinder.

Chapter 6, Accelerate – Creating Generative Animation, teaches the basics of generative or procedural animation with Cinder. Throughout the chapter we will create an infinite looped animation application.

Chapter 7, Working with Images – Real-time Postprocessing and Effects, explains the several features that Cinder provides to let you manipulate images, and moving image frames down to the pixel level without loosing speed. In this chapter we will learn how to use Cinder for applying and creating basic effects for still images and real-time use.

Chapter 8, Adding Depth – Cinder 3D Basics, introduces you to the basic 3D aspects and practical methods, as well as the 3D primitives that can be drawn with Cinder.

Chapter 9, Enter Sound – Adding Sound and Audio, explains how to load, modify, play back, and use sound files, as well as live audio input to draw and animate.

Chapter 10, Talk to the User – Adding Interactivity and UI Events, explains how to handle mouse, keyboard, and other events in Cinder.

Appendix A, Basic Cinder Functionality Reference, helps you find some basic Cinder functionality used in this book for later reference.

Bonus Chapter, Escaping Singleness – Communicating with Other Applications, is not present in the book but is available for download at the following link: http://www.packtpub.com/sites/default/files/downloads/Escaping_Singleness.pdf

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.199.112