Book Details

ISBN 139781849519564

Paperback146 pages

Book Description

Cinder is one of the most powerful professional grade C++ creative coding frameworks out there. It is open-source and peer-reviewed, meaning that there are experienced professionals behind its developmentand that every development step is taken seriously. Its philosophy is based on the capabilities of the operating system it is used for – Cinder will take the best from every OS and hardware you choose to work on.

"Cinder – Begin Creative Coding" will let you take your previous creative coding experience to a higher and also more demanding level. It will show you the Cinder way of using the most used creative coding functions for drawing, animation, interaction and allow you to do much more in terms of performance and cross-application-compatibility.

Starting by downloading Cinder and setting up the development environment, we will work through some of the most widely used topics in creative coding by creating and discussing simple sample applications.

Throughout this book we will deal with relatively simple topics like basic drawing, basic animation, basic 3D, interaction, loading files, playing back video files, applying built in and custom effects. Then going through to more advanced topics like how to use Cinder for a generative projection mapping project by using Syphon technology and how to connect Open Sound Control enabled applications for receiving and sending data and commands.

"Cinder – Begin Creative Coding" will bring your craziest ideas closer to the core of your computer by using the pure power of C++.

Table of Contents

Chapter 1: Learn Cinder Basics – Now!

What is creative coding

A few words about Cinder

Downloading Cinder

Setting up Cinder on Mac OS X

Setting up Cinder on Windows

Summary

Chapter 2: Know What is Possible – The Cinder Toolset

BasicApp

BezierPath

CairoBasic

CaptureTest

EaseGallery

TextBox

ArcballDemo

Earthquake

AudioGenerative

Summary

Chapter 3: Initial Setup – Creating the BaseApp

TinderBox

Creating a project from scratch (Mac OS X)

Creating a project from scratch (Windows)

Final adjustments

Summary

Chapter 4: Prepare Your Brushes – Drawing Basic Shapes

Preparing your workspace

Drawing lines

Drawing circles

Drawing rectangles

Other useful drawing functions

Summary

Chapter 5: Making Use of Images – Loading and Displaying

Loading an image

Handling assets

Summary

Chapter 6: Accelerate – Creating Generative Animation

Preparing the stage

Adding animation

Adding randomness

More circles

Using built-in eases

Summary

Chapter 7: Working with Images – Real-time Postprocessing and Effects

Introducing Texture, Surface, and Channel

Applying the grayscale effect

Using threshold

Animating effects

Applying effects to moving images

Summary

Chapter 8: Adding Depth – Cinder 3D Basics

Introducing the 3D space

Drawing in 3D

Understanding nested states

Handling depth sorting

Exploring other Cinder 3D primitives

Summary

Chapter 9: Enter Sound – Adding Sound and Audio

Loading and playing a sound file

Using tracks

Changing track parameters

Visualizing audio

Using audio input

Summary

Chapter 10: Talk to the User – Adding Interactivity and UI Events

Handling events

Summary

What You Will Learn

Set up the Cinder development environment to let you start a new project in the fastest way possible

Generative animation basics that will allow you to create endless loops without a frame that repeats itself

Cinder and Open Sound Control – how to control and be controlled by other OSC enabled applications

Use widely used functionality included many other creative coding frameworks in Cinder

Explore Cinder and projection mapping by using Syphon and MadMapper

Authors

Krisjanis Rijnieks

Krisjanis Rijnieks is a new media professional with a background in painting and multimedia. He holds a BA in painting and parallel to his painting studies he has been doing a lot of things related to print, video, web, Flash, Flash coding, and coding in general. It is not possible to name all the different categories of work, but through all this a strong interest towards interactive digital media has been developed.
Creative coding is a new field that brings the art and design fields much closer to coding. As Krisjanis has been doing projects on both sides, the combination of the two seemed natural. It is a way of using ones creative visual and logical skills together without worrying that an unsolvable conflict between the left and right side of the brain will occur.
For the past two years Krisjanis has been involved in many projects that include creative coding with technologies like Flash ActionScript, openFrameworks, Cinder, iOS, Unity 3D, Kinect, Augmented Reality, Quartz Composer, VDMX and projection mapping with MadMapper. Experience gathered throughout these projects requires searching for new and more powerful tools and skills constantly. Cinder a tool that allows one to combine the hottest topics of today’s computer science (computer vision, gesture recognition, etc.) with the craziest ideas and make them work real-time without acceleration lags.
Currently Krisjanis is studying in the New Media MA program at the Aalto University School of Art, Design and Architecture, also known as the Helsinki Media Lab in Finland. He is also doing freelance commercial projects and taking his first entrepreneurial steps by managing his company called Skematic.
This is the very first book Krisjanis has written, and it was fun and rewarding in terms of knowledge and experience.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.