Table of Contents
Preface
Chapter 1: openFrameworks Basics
Chapter 2: Drawing in 2D
Chapter 3: Building a Simple Particle System
Chapter 4: Images and Textures
Chapter 5: Working with Videos
Chapter 6: Working with Sounds
Chapter 7: Drawing in 3D
Chapter 8: Using Shaders
Chapter 9: Computer Vision with OpenCV
Chapter 10: Using Depth Cameras
Chapter 11: Networking
Appendix A: Working with Addons
Appendix B: Perlin Noise
Index
Preface
Up
Chapter 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
Up
Chapter 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
Up
Chapter 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
Up
Chapter 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
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
Up
Chapter 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
Up
Chapter 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
Up
Chapter 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
Up
Chapter 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
Up
Chapter 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
Summary
Up
Chapter 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
Up
Chapter 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
Up
Appendix 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
Up
Appendix B: Perlin Noise
Perlin noise basics
Using the ofNoise() function
Space-coherent noise
Summary
Up
Index
· · · · · · (
收起)