You are previewing Cinder Creative Coding Cookbook.
O'Reilly logo
Cinder Creative Coding Cookbook

Book Description

If you know C++ this book takes your creative potential to a whole other level. The practical recipes show you how to create interactive and visually dynamic applications using Cinder which will excite and delight your audience.

  • Learn powerful techniques for building creative applications using motion sensing and tracking

  • Create applications using multimedia content including video, audio, images, and text

  • Draw and animate in 2D and 3D using fast performance techniques

  • In Detail

    Cinder is one of the most exciting frameworks available for creative coding. It is developed in C++ for increased performance and allows for the fast creation of visually complex, interactive applications.

    "Cinder Creative Coding Cookbook" will show you how to develop interactive and visually dynamic applications using simple-to-follow recipes.

    You will learn how to use multimedia content, draw generative graphics in 2D and 3D, and animate them in compelling ways.

    Beginning with creating simple projects with Cinder, you will use multimedia, create animations, and interact with the user.

    From animation with particles to using video, audio, and images, the reader will gain a broad knowledge of creating applications using Cinder.

    With recipes that include drawing in 3D, image processing, and sensing and tracking in real-time from camera input, the book will teach you how to develop interesting applications.

    "Cinder Creative Coding Cookbook" will give you the necessary knowledge to start creating projects with Cinder that use animations and advanced visuals.

    Table of Contents

    1. Cinder Creative Coding Cookbook
      1. Table of Contents
      2. Cinder Creative Coding Cookbook
      3. Credits
      4. About the Authors
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Getting Started
        1. Introduction
        2. Creating a project for a basic application
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
        3. Creating a project for a screensaver application
          1. Getting ready
          2. How to do it…
          3. How it works...
        4. Creating a project for an iOS touch application
          1. Getting ready
          2. How to do it…
          3. How it works...
        5. Understanding the basic structure of an application
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
          5. See also
        6. Responding to mouse input
          1. Getting ready
          2. How to do it…
          3. How it works
          4. There's more...
        7. Responding to key input
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
        8. Responding to touch input
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
        9. Accessing files dropped onto the application window
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        10. Adjusting a scene after resizing the window
          1. Getting ready
          2. How to do it…
          3. How it works…
        11. Using resources on Windows
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
        12. Using resources on iOS and OS X
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
        13. Using assets
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
      9. 2. Preparing for Development
        1. Introduction
        2. Setting up a GUI for tweaking parameters
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
            1. Buttons
            2. Panel position
          5. See also
            1. SimpleGUI
            2. ciUI
            3. AntTweakBar
        3. Saving and loading configurations
          1. Getting ready
          2. How to do it...
          3. How it works...
          4. See also
            1. Cinder-Config
        4. Making a snapshot of the current parameter state
          1. Getting ready
          2. How to do it...
          3. How it works...
        5. Using MayaCamUI
          1. Getting ready
          2. How to do it...
          3. How it works...
        6. Using 3D space guides
          1. Getting ready
          2. How to do it...
          3. How it works...
        7. Communicating with other software
          1. Getting ready
          2. How to do it...
            1. Sender
            2. Listener
        8. How it works...
        9. There's more...
          1. Broadcast
        10. See also
          1. OSC in Flash
          2. OSC in Processing
          3. OSC in openFrameworks
          4. OpenSoundControl Protocol
        11. Preparing your application for iOS
          1. Getting ready
          2. How to do it...
          3. See also
            1. Apple Developer Center
      10. 3. Using Image Processing Techniques
        1. Introduction
        2. Transforming image contrast and brightness
          1. Getting ready
          2. How to do it...
          3. How it works...
        3. Integrating with OpenCV
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Detecting edges
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        5. Detecting faces
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        6. Detecting features in an image
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. If images match
            2. Other possibilities
          5. See also
        7. Converting images to vector graphics
          1. Getting started
          2. How to do it…
          3. How it works…
          4. See also
      11. 4. Using Multimedia Content
        1. Introduction
        2. Loading and displaying video
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more
        3. Creating a simple video controller
          1. Getting ready
          2. How to do it…
          3. How it works…
        4. Saving window content as an image
          1. How to do it…
          2. How it works…
          3. There's more...
            1. Saving window animation as image sequences
            2. Recording sound visualization
        5. Saving window animations as video
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
        6. Saving window content as a vector graphics image
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
        7. Saving high resolution images with the tile renderer
          1. Getting ready
          2. How to do it...
          3. How it works…
        8. Sharing graphics between applications
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more...
            1. Receiving graphics from other applications
      12. 5. Building Particle Systems
        1. Introduction
        2. Creating a particle system in 2D
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. There's more...
          5. See also
        3. Applying repulsion and attraction forces
          1. Getting ready
          2. How to do it…
          3. How it works…
        4. Simulating particles flying in the wind
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Simulating flocking behavior
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        6. Making our particles sound reactive
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        7. Aligning particles to a processed image
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        8. Aligning particles to the mesh surface
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Creating springs
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
      13. 6. Rendering and Texturing Particle Systems
        1. Introduction
        2. Texturing particles
          1. Getting started
          2. How to do it…
          3. How it works…
          4. See also
        3. Adding a tail to our particles
          1. Getting started
          2. How to do it…
            1. Drawing history
            2. Tail as a line
        4. How it works…
          1. Drawing history
          2. Tail as a line
        5. Creating a cloth simulation
          1. Getting Ready
          2. How to do it…
          3. How it works…
          4. There's more…
        6. Texturing a cloth simulation
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Texturing a particle system using point sprites and shaders
          1. Getting ready
          2. How to do it...
          3. How it works…
          4. There's more…
        8. Connecting the dots
          1. Getting started
          2. How to do it…
          3. How it works…
        9. Connecting particles with spline
          1. Getting started
          2. How to do it…
          3. How it works…
          4. See also
      14. 7. Using 2D Graphics
        1. Drawing 2D geometric primitives
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        2. Drawing arbitrary shapes with the mouse
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Implementing a scribbler algorithm
          1. How to do it…
          2. How it works…
        4. Implementing 2D metaballs
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Animating text around curves
          1. Getting ready
          2. How to do it…
        6. Adding a blur effect
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Implementing a force-directed graph
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
      15. 8. Using 3D Graphics
        1. Introduction
        2. Drawing 3D geometric primitives
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        3. Rotating, scaling, and translating
          1. Getting ready
          2. How to do it…
          3. How it works…
        4. Drawing to an offscreen canvas
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Drawing in 3D with the mouse
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        6. Adding lights
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        7. Picking in 3D
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Creating a height map from an image
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Creating a terrain with Perlin noise
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        10. Saving mesh data
          1. Getting ready
          2. How to do it…
          3. How it works…
      16. 9. Adding Animation
        1. Animating with the timeline
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        2. Creating animation sequences with the timeline
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Animating along a path
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        4. Aligning camera motion to a path
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Animating text – text as a mask for a movie
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Animating text – scrolling text lines
          1. How to do it…
          2. How it works…
        7. Creating a flow field with Perlin noise
          1. Getting ready
          2. How to do it…
          3. How it works…
        8. Creating an image gallery in 3D
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Creating a spherical flow field with Perlin noise
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. See also
      17. 10. Interacting with the User
        1. Introduction
        2. Creating an interactive object that responds to the mouse
          1. Getting ready
          2. How to do it…
          3. How it works…
        3. Adding mouse events to our interactive object
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Creating a slider
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Creating a responsive text box
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Dragging, scaling, and rotating objects using multi-touch
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There is more…
      18. 11. Sensing and Tracking Input from the Camera
        1. Capturing from the camera
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        2. Tracking an object based on color
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        3. Tracking motion using optical flow
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Object tracking
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        5. Reading QR code
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Building UI navigation and gesture recognition with Kinect
          1. Getting ready
          2. How to do it…
          3. How it works…
        7. Building an augmented reality with Kinect
          1. Getting ready
          2. How to do it…
          3. How it works…
      19. 12. Using Audio Input and Output
        1. Generating a sine oscillator
          1. Getting ready
          2. How to do it…
          3. How it works…
        2. Generating sound with frequency modulation
          1. Getting ready
          2. How to do it…
          3. How it works…
        3. Adding a delay effect
          1. Getting ready
          2. How to do it…
          3. How it works...
        4. Generating sound upon the collision of objects
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Visualizing FFT
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Making sound-reactive particles
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Adding GUI to tweak parameters
      20. Index