Szczegóły ebooka

Mastering openFrameworks: Creative Coding Demystified. openFrameworks is the doorway to so many creative multimedia possibilities and this book will tell you everything you need to know to undertake your own projects. You'll find creative coding is simpler than you think

Mastering openFrameworks: Creative Coding Demystified. openFrameworks is the doorway to so many creative multimedia possibilities and this book will tell you everything you need to know to undertake your own projects. You'll find creative coding is simpler than you think

Denis Perevalov

Ebook
openFrameworks is a powerful programming toolkit and library designed to assist the creative process through simplicity and intuitiveness. It's a very handy software library written in C++ to reduce the software development process, helping you to kick-start creative coding. With the help of C++ and shaders support, openFrameworks allows for the processing of all kinds of media information with your custom-developed algorithms at the lowest possible level, with the fastest speed.

Mastering openFrameworks: Creative Coding Demystified will introduce you to a world of creative coding projects, including interactive installations, audio-visual, and sound art projects. You will learn how to make your own projects using openFrameworks. This book focuses on low-level data processing, which allows you to create really unique and cutting-edge installations and projects.

Mastering openFrameworks: Creative Coding Demystified provides a complete introduction to openFrameworks, including installation, core capabilities, and addons. Advanced topics like shaders, computer vision, and depth cameras are also covered.

We start off by discussing the basic topics such as image and video loading, rendering and processing, playing sound samples, and synthesizing new sounds. We then move on to cover 3D graphics, computer vision, and depth cameras. You will also learn a number of advanced topics such as video mapping, interactive floors and walls, video morphing, networking, and using geometry shaders.

You will learn everything you need to know in order to create your own projects; create projects of all levels, ranging from simple creative-code experiments, to big interactive systems consisting of a number of computers, depth cameras, and projectors.
  • Mastering openFrameworks: Creative Coding Demystified
    • Table of Contents
    • Mastering openFrameworks: Creative Coding Demystified
    • Credits
    • Foreword
    • About the Author
    • Acknowledgement
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Downloading the color graphics PDF
        • Errata
        • Piracy
        • Questions
    • 1. openFrameworks Basics
      • About openFrameworks
        • Use cases
      • Installing openFrameworks and running your first example
        • Installing on Windows
          • Microsoft Visual Studio
          • Code::Blocks (Windows)
      • Installing on Mac OS with Xcode
      • Installing on Linux with Code::Blocks
      • openFrameworks folders
        • The examples folder
        • The apps folder
        • The addons folder
      • File structure of a project
      • Code structure of a project
        • main.cpp
        • testApp.h
        • testApp.cpp
          • setup()
          • update()
          • draw()
          • Other functions
      • Creating a new project
        • Creating a project from an existing example
        • Creating a project using Project Generator
      • Creating your first project the Pendulum example
      • Running the book's examples
      • Basic utility functions
      • Summary
    • 2. Drawing in 2D
      • Drawing basics
      • The background color of the screen
        • Pulsating background example
      • Geometric primitives
        • The simplest example of a flower
        • Controlling the drawing of primitives
      • Using ofPoint
        • Operations with points
        • Using control points example
      • Coordinate system transformations
        • Flower with petals example
      • Colors
        • Operations with colors
        • Color modifications example
      • Drawing with an uncleared background
      • Using FBO for offscreen drawings
        • Spirals example
          • Playing with numerical instability
      • Screen grabbing
      • Additional topics
      • Summary
    • 3. Building a Simple Particle System
      • The basics of particle systems
        • Interaction types
        • Computing particles' physics
        • Rendering particles
        • Creating a particle system summary
      • A single particle
        • Control parameters
        • Defining the particle functions
        • Implementing a particle in the project
      • An emitter
      • The attraction, repulsion, and spinning forces
      • Graphical user interface
      • Additional topics
      • Summary
    • 4. Images and Textures
      • Raster and vector images
      • Loading and drawing an image
      • Rotating images
      • Color modulation
      • Transparency
      • Creating and modifying images
        • Creating images
        • Modifying images
          • Working with the color of a single pixel
            • A simple geometrical distortion example
          • The functions for manipulating the image as a whole
      • Using ofTexture for memory optimization
      • Image warping and video mapping
      • Using images for internal calculations
        • An image as a mask
        • An image as a palette
      • Summary
    • 5. Working with Videos
      • Video basics
      • Playing a video file
      • Controlling the video playback
      • Processing a single video frame
        • The vertical lines image example
        • The replacing colors example
      • Processing multiple frames
        • Radial slit-scan example
          • Horizontal slit-scan
          • Discussing color interpolation
      • Processing a live video from the camera
        • The video synthesizer example
      • Using image sequence
        • Using image sequence example
      • Summary
    • 6. Working with Sounds
      • Sound basics
      • Playing sound samples
        • The bouncing ball example
        • The singing voices example
      • Generating sounds
        • The PWM synthesis example
        • Image-to-sound transcoder example
      • Using a microphone
        • The loop sampler example
          • Saving a recorded sample to the file
      • Getting spectral data from sound
        • Dancing cloud example
      • Summary
    • 7. Drawing in 3D
      • 3D basics
        • Representation of 3D objects
        • 3D scene rendering
      • Simple 3D drawing
        • The triangles cloud example
      • Using ofMesh
        • Enabling lighting and setting normals
          • Computing normals using the setNormals() function
      • Drawing sharp edges
      • Drawing line segments and points
        • Drawing line segments
        • Drawing points
      • Coloring the vertices
      • Texturing
      • Working with vertices
      • The oscillating plane example
        • The twisting knot example
      • Additional topics
      • Summary
    • 8. Using Shaders
      • Basics of shaders
        • Types of shaders
        • When to use shaders
      • Structure of a shader's code
      • A simple fragment shader example
        • Creating the fragment shader
        • The vertex shader
        • Embedding shaders in our project
        • Debugging shaders
      • Creating video effects with fragment shaders
        • Passing a float parameter to a shader
          • A simple geometrical distortion example
        • Passing the float array to the shader
        • Using Perlin noise in shaders
          • A liquify distortion example
        • Processing several images
          • A masking example
        • An audio-reactive project example
      • Deforming objects with a vertex shader
        • Vertex shader
        • Fragment shader
      • Using vertex shader in our project
      • Using a geometry shader
        • The furry carpet example
      • Additional topics
      • Summary
    • 9. Computer Vision with OpenCV
      • Understanding computer vision and OpenCV
      • Using ofxOpenCv
      • Working with ofxCv images
        • Image initializing
        • Algebraic operations with images
        • Drawing functions
        • Access to pixels
        • Working with color planes and color spaces conversion
        • Motion detection from movies
        • Discussing the algorithm's parameters
        • Motion detection from live video
      • Image filtering
        • The image filtering example
      • Geometrical transformations of images
        • Perspective distortion removing example
      • Searching for objects in an image
        • Using the ofxCvContourFinder class for finding contours
        • An example for searching bright objects in video
      • Using OpenCV functions
        • Optical flow
          • Video morphing example
            • Using optical flow for morphing
            • Applying morphing to another image
      • Summary
    • 10. Using Depth Cameras
      • Depth camera basics
        • Active infrared stereo cameras
      • Installing the ofxOpenNI addon
      • ofxOpenNI examples
        • Working with examples of depth images
        • Hand-tracking examples
        • User tracking examples
      • Creating interactive surface
        • Running the project
      • Additional topics
      • Summary
    • 11. Networking
      • Networking basics
      • Using OSC protocol
        • Sending data
        • Receiving data
        • Typical schemes of OSC usage
      • Using TCP protocol for streaming images
        • The streaming images example
      • Summary
    • A. Working with Addons
      • Addons basics
        • Addons in openFrameworks
        • Installing a non-core addon
      • Linking addons to a new project
        • Using Project Generator
      • Linking an addon to an existing project
      • List of selected addons
      • Summary
    • B. Perlin Noise
      • Perlin noise basics
      • Using the ofNoise() function
      • Space-coherent noise
      • Summary
    • Index
  • Tytuł: Mastering openFrameworks: Creative Coding Demystified. openFrameworks is the doorway to so many creative multimedia possibilities and this book will tell you everything you need to know to undertake your own projects. You'll find creative coding is simpler than you think
  • Autor: Denis Perevalov
  • Tytuł oryginału: Mastering openFrameworks: Creative Coding Demystified. openFrameworks is the doorway to so many creative multimedia possibilities and this book will tell you everything you need to know to undertake your own projects. You'll find creative coding is simpler than you think.
  • ISBN: 9781849518055, 9781849518055
  • Data wydania: 2013-09-23
  • Format: Ebook
  • Identyfikator pozycji: e_3ax2
  • Wydawca: Packt Publishing