Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Mastering openFrameworks: Creative Coding Demystified

You're reading from   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.

Arrow left icon
Product type Paperback
Published in Sep 2013
Publisher Packt
ISBN-13 9781849518048
Length 364 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Denis Perevalov Denis Perevalov
Author Profile Icon Denis Perevalov
Denis Perevalov
Arrow right icon
View More author details
Toc

Table of Contents (22) Chapters Close

Mastering openFrameworks: Creative Coding Demystified
Credits
Foreword
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
1. openFrameworks Basics FREE CHAPTER 2. Drawing in 2D 3. Building a Simple Particle System 4. Images and Textures 5. Working with Videos 6. Working with Sounds 7. Drawing in 3D 8. Using Shaders 9. Computer Vision with OpenCV 10. Using Depth Cameras 11. Networking Working with Addons Perlin Noise Index

Index

A

  • abstract functions / Using ofxOpenCv
  • Abstract Wall / Creating a particle system – summary
  • Active infrared stereo camera / Depth camera basics, Active infrared stereo cameras
  • adding mode / Transparency
  • addon
    • using, in project / Using OSC protocol
    • about / Addons basics
    • used, in openFrameworks / Addons in openFrameworks
    • core addons / Addons in openFrameworks
    • non-core addons / Addons in openFrameworks
    • linking, to new project / Linking addons to a new project
    • linking, to existing project / Linking an addon to an existing project
  • Addons$ button / Using Project Generator
  • addons folder / The examples folder, The addons folder
  • addRandomCircle() function / The twisting knot example
  • addRandomRing() function / The twisting knot example
  • addTriangle() function / Drawing sharp edges
  • AIFF / Sound basics
  • algebraic functions
    • about / Algebraic operations with images
  • algorithm parameters
    • amplification parameter / Discussing the algorithm's parameters
    • buffer damping parameter / Discussing the algorithm's parameters
    • threshold parameter / Discussing the algorithm's parameters
  • algorithms based on machine learning / Searching for objects in an image
  • aliasing effect / A simple geometrical distortion example, Geometrical transformations of images
  • alpha-blending / Transparency
  • amplification parameter / Discussing the algorithm's parameters
  • anchor point / Rotating images
  • apps folder / The examples folder, The apps folder
  • Asus Xtion camera / Active infrared stereo cameras
  • attraction force / The attraction, repulsion, and spinning forces
  • attributes
    • working with / Additional topics
  • audio-reactive project example / An audio-reactive project example
  • audioOut() / Generating sounds
  • audioOut() function / The PWM synthesis example, Image-to-sound transcoder example, The loop sampler example
  • audioOut function / The PWM synthesis example, Image-to-sound transcoder example, Getting spectral data from sound
  • audioReceived() function / Using a microphone, The loop sampler example
  • audio samples / Sound basics

B

  • << Back button / Using Project Generator
  • background color
    • setting up / The background color of the screen, Pulsating background example
  • background depth image / Creating interactive surface
  • binary images / Using ofxOpenCv
  • blending / Transparency
  • blobs / Using the ofxCvContourFinder class for finding contours
  • blur( winSize ) function / Image filtering
  • blurGaussian() / Image filtering
  • blurGaussian( winSize ) function / Image filtering
  • BMP / Loading and drawing an image
  • Boosting / Using ofxOpenCv, Searching for objects in an image
  • bornCount variable / An emitter
  • bornRate parameter / An emitter
  • bouncing ball example / The bouncing ball example
  • Box2D physics library / Additional topics
  • Breakpoint / File structure of a project
  • buffer damping parameter / Discussing the algorithm's parameters
  • Build button / Code::Blocks (Windows)

C

  • calibrating variable / Creating interactive surface
  • camera
    • live video / Processing a live video from the camera
  • camera calibration / Geometrical transformations of images
  • Central Processing Unit (CPU) / Using ofTexture for memory optimization
  • classical noise / Perlin noise basics
  • clear() function / Working with vertices, Image initializing
  • clearVertices() function / Working with vertices
  • cnoise() function / A liquify distortion example
  • Code$$Blocks
    • URL / Code::Blocks (Windows)
    • Linux, installing with / Installing on Linux with Code::Blocks
  • Code$$Blocks (Windows) / Code::Blocks (Windows)
  • code structure
    • main.cpp / main.cpp
    • testApp.h / testApp.h
    • testApp.cpp / testApp.cpp
  • color interpolation / Discussing color interpolation
  • color modulation / Color modulation
  • color parameter / Creating the fragment shader
  • color planes
    • working with / Working with color planes and color spaces conversion
  • colors
    • about / Colors
    • operating with / Operations with colors
    • modifications example / Color modifications example
  • color spaces conversion
    • working with / Working with color planes and color spaces conversion
  • communication folder / The examples folder
  • computer vision
    • about / Understanding computer vision and OpenCV
  • compute shader / When to use shaders
  • compute shaders
    • using / Computing particles' physics
  • Contour analysis / Searching for objects in an image
  • control parameters / Control parameters
  • control points / Using control points example
  • convertHsvToRgb() / Working with color planes and color spaces conversion
  • convertRgbToHsv() / Working with color planes and color spaces conversion
  • convertToRange( minValue, maxValue ) / Image filtering
  • coordinate system transformations
    • about / Coordinate system transformations
    • functions / Coordinate system transformations
    • example / Flower with petals example
  • core addon / Using OSC protocol
  • core addons
    • about / Addons in openFrameworks
    • ofxXmlSettings / List of selected addons
    • ofxOsc / List of selected addons
    • ofxNetwork / List of selected addons
    • ofxOpenCv / List of selected addons
    • ofxSvg / List of selected addons
    • ofxVectorGraphics / List of selected addons
    • ofx3DModelLoader / List of selected addons
    • ofxAssimpModelLoader / List of selected addons
    • ofxThreadedImageLoader / List of selected addons
  • curves / Representation of 3D objects
  • CV_INTER_AREA / Geometrical transformations of images
  • CV_INTER_CUBIC / Geometrical transformations of images
  • CV_INTER_LINEAR / Geometrical transformations of images
  • CV_INTER_NN / Geometrical transformations of images

D

  • 2D graphics
    • creating / Geometric primitives
  • 3D
    • about / 3D basics
  • 3D drawing
    • about / Simple 3D drawing
    • triangles cloud example / The triangles cloud example
  • 3d folder / The examples folder
  • 3D graphics / Drawing basics
  • 3D objects
    • representing / Representation of 3D objects
  • 3D point cloud
    • using / Additional topics
  • 3D scene
    • rendering / 3D scene rendering
  • dancing cloud example / Dancing cloud example
  • data
    • sending, OSC protocol used / Sending data
    • receiving, OSC protocol used / Receiving data
  • datamoshing effect / Optical flow
  • DC-offset removal / Image-to-sound transcoder example
  • Debug mode / File structure of a project
  • default constructor / Defining the particle functions
  • depth camera
    • about / Depth camera basics
    • Time-of-flight camera / Depth camera basics
    • Passive stereo camera / Depth camera basics
    • Active infrared stereo camera / Depth camera basics
  • depth images examples
    • ImageAndDepth-Simple example / Working with examples of depth images
    • ImageAndDepthMultDevice-Medium example / Working with examples of depth images
  • deque class / An emitter
  • deterministic chaos theory / Playing with numerical instability
  • digital audio samples / Sound basics
  • dilate() function / Image filtering
  • distortAmount parameter / Vertex shader
  • draw() function / draw(), The bouncing ball example, The singing voices example, The PWM synthesis example, Image-to-sound transcoder example, Using a microphone, The loop sampler example, Dancing cloud example, The oscillating plane example, The twisting knot example, Embedding shaders in our project, A simple geometrical distortion example, Using vertex shader in our project, The furry carpet example, The image filtering example, Creating interactive surface
  • draw() method / draw()
  • draw( x, y, w, h ) function / Drawing functions
  • draw1() function / Spirals example
  • draw function / Motion detection from movies
  • Drawing
    • about / Drawing basics
  • dt parameter / A single particle
  • dynamic video mapping / Additional topics

E

  • eCenter / Control parameters
  • emitter / Interaction types, Control parameters, An emitter
  • EmitVertex() function / Using a geometry shader
  • empty folder / The examples folder
  • EndPrimitive() function / Using a geometry shader
  • Eraser tool / Transparency
  • erode() function / Image filtering
  • Euler method
    • about / Defining the particle functions
    • URL / Defining the particle functions
  • events folder / The examples folder
  • examples folder / The examples folder

F

  • FBO
    • used, for offscreen drawings / Using FBO for offscreen drawings, Spirals example
  • fbo.allocate() function / Implementing a particle in the project
  • fbo.begin() / Using FBO for offscreen drawings
  • fbo.end() / Using FBO for offscreen drawings
  • FBO float values / Implementing a particle in the project
  • fbo object / Embedding shaders in our project
  • ffmpeg tool / Video basics
  • filter / Image filtering
  • flagImageChanged() / Access to pixels
  • float-valued fbo / Using FBO for offscreen drawings
  • float array
    • passing, to shaders / Passing the float array to the shader
  • float parameter
    • passing, to shaders / Passing a float parameter to a shader
  • fmod() function / Using image sequence example
  • fragment shader
    • about / Types of shaders, Fragment shader
    • example / A simple fragment shader example
    • creating / Creating the fragment shader
    • video effects, creating with / Creating video effects with fragment shaders
  • fragment shaders
    • using / Computing particles' physics
  • friction parameter / The attraction, repulsion, and spinning forces
  • frontal faces / The vertex shader
  • functions
    • used, for drawing primitives / Geometric primitives
    • used, for controlling drawing of primitives / Controlling the drawing of primitives
    • used, for manipulating image as whole / The functions for manipulating the image as a whole
    • drawing / Drawing functions
  • furry carpet example / The furry carpet example

G

  • generateImg() function / An example for searching bright objects in video
  • GENERATE PROJECT button / Using Project Generator
  • generative art algorithm / Spirals example
  • geometrical transformations
    • of images / Geometrical transformations of images
    • resize( w, h ) function / Geometrical transformations of images
    • scaleIntoMe( mom, interpolationMethod ) function / Geometrical transformations of images
    • CV_INTER_LINEAR / Geometrical transformations of images
    • CV_INTER_AREA / Geometrical transformations of images
    • CV_INTER_NN / Geometrical transformations of images
    • CV_INTER_CUBIC / Geometrical transformations of images
    • scale( scaleX, scaleY ) function / Geometrical transformations of images
    • mirror( flipY, flipX ) function / Geometrical transformations of images
    • translate( shiftX, shiftY ) function / Geometrical transformations of images
    • rotate( angle, centerX, centerY ) function / Geometrical transformations of images
    • warpPerspective( A, B, C, D ) function / Geometrical transformations of images
    • remap( mapX, mapY ) function / Geometrical transformations of images
    • Perspective distortion removing example / Perspective distortion removing example
  • geometric primitives
    • about / Geometric primitives, Controlling the drawing of primitives
    • example / The simplest example of a flower
  • geometry shader
    • using / Rendering particles, Using a geometry shader
    • about / Types of shaders
    • furry carpet example / The furry carpet example
  • getBrightness() function / Operations with colors
  • getCurrentFrame() function / Controlling the video playback
  • getCvImage() function / Access to pixels
  • getDuration() function / Controlling the video playback
  • getFloatPixelsRef() / Access to pixels
  • getHue() function / Operations with colors
  • getIsMovieDone() function / Controlling the video playback
  • getIsPlaying() function / Playing sound samples
  • getLightness() function / Operations with colors
  • getLoopState() function / Controlling the video playback
  • getNumVertices() function / Working with vertices
  • getPan() function / Playing sound samples
  • getPixelRef() method / Processing a single video frame
  • getPixels() function / Access to pixels
  • getPixelsAsFloats() / Access to pixels
  • getPixelsRef() function / Access to pixels
  • getPosition() function / Playing sound samples
  • getPositionMS() function / Playing sound samples
  • getSaturation() function / Operations with colors
  • getShortPixelsRef() function / Access to pixels
  • getSpeed() function / Controlling the video playback, Playing sound samples
  • getTextureReference() function / Drawing functions
  • getTotalNumFrames() function / Controlling the video playback
  • getVertex( i ) function / Working with vertices
  • getVolume() function / Playing sound samples
  • gl folder / The examples folder
  • global variable / A single particle
  • GLSL types
    • URL / Structure of a shader's code
  • GLSL variables
    • URL / Structure of a shader's code
  • gl_Color variable / The vertex shader
  • gl_FragColor variable / Structure of a shader's code, Creating the fragment shader
  • gl_FrontColor / The vertex shader
  • GL_RGB32F_ARB / Using FBO for offscreen drawings, Implementing a particle in the project
  • GPU technologies
    • using / Computing particles' physics
  • graphics folder / The examples folder
  • Graphics Library Shading Language (GLSL) / Basics of shaders
  • Graphics Processing Unit (GPU) / Using ofTexture for memory optimization, Basics of shaders
  • gravity force
    • URL / The bouncing ball example
  • GUI / Graphical user interface
  • gui folder / The examples folder

H

  • Haar-like features / Using ofxOpenCv
  • hand-tracking examples
    • HandTracking-Simple example / Hand-tracking examples
    • HandTracking-Medium example / Hand-tracking examples
  • hand.getWorldPosition() function / Hand-tracking examples
  • HandTracking-Medium example / Hand-tracking examples
  • HandTracking-Simple example / Hand-tracking examples
  • history variable / Implementing a particle in the project
  • HOG-method / Searching for objects in an image
  • horizontal slit-scan / Horizontal slit-scan
  • HSV (Hue, Saturation, Value) color space / Working with color planes and color spaces conversion

I

  • image
    • loading / Loading and drawing an image
    • drawing / Loading and drawing an image
    • file formats / Loading and drawing an image
    • rotating / Rotating images
    • creating / Creating and modifying images, Creating images
    • modifying / Modifying images
    • pixel color, setting / Working with the color of a single pixel, A simple geometrical distortion example
    • pixel color, obtaining / Working with the color of a single pixel, A simple geometrical distortion example
    • manipulating, functions used / The functions for manipulating the image as a whole
    • warping / Image warping and video mapping
    • used, as mask / An image as a mask
    • used, as palette / An image as a palette
  • image-to-sound transcoder example / Image-to-sound transcoder example
  • image.bpp field / Modifying images
  • image.draw() / Color modulation, Access to pixels, Space-coherent noise
  • image.draw method / Rotating images
  • image.getPixels() function / Modifying images, Working with the color of a single pixel, Using ofTexture for memory optimization
  • image.getTextureReference() / Using ofTexture for memory optimization
  • image.grabScreen() function / Screen grabbing
  • image.saveImage() method / Loading and drawing an image
  • image.setFromPixels() / Working with the color of a single pixel
  • image.update() / Modifying images
  • image.update() function / Working with the color of a single pixel
  • ImageAndDepth-Simple example / Working with examples of depth images
  • ImageAndDepthMultDevice-Medium example / Working with examples of depth images
  • image file formats
    • about / Loading and drawing an image
    • PNG / Loading and drawing an image
    • JPG / Loading and drawing an image
    • BMP / Loading and drawing an image
    • TIFF / Loading and drawing an image
  • image filtering
    • about / Image filtering
    • example / The image filtering example
  • image object / Loading and drawing an image, Perspective distortion removing example
  • image processing
    • masking example / A masking example
  • image sequence
    • about / Using image sequence
    • example / Using image sequence example
  • imshow() function / Using OpenCV functions
  • instability
    • playing with / Playing with numerical instability
  • Install button / ofxOpenNI examples
  • Intel Xeon Phi / Computing particles' physics
  • interaction type / Interaction types
  • interactive surfaces
    • creating / Creating interactive surface
  • interpolationMethod parameter / Geometrical transformations of images
  • inverseMapping function / Using optical flow for morphing
  • invert() function / Operations with colors, Image filtering
  • invert() operation / Image filtering
  • isLoaded() function / Controlling the video playback, Playing sound samples
  • isPaused() function / Controlling the video playback

J

  • JPG / Loading and drawing an image

K

  • keyPressed() function / Creating interactive surface
  • keyPressed( key ) function / Other functions
  • keyReleased( key ) function / Other functions
  • Khronos Group
    • URL / Understanding computer vision and OpenCV
  • Kuflex project
    • URL / Creating a particle system – summary

L

  • LAN / Networking basics
  • lighting
    • enabling / Enabling lighting and setting normals
  • linear interpolation / Image-to-sound transcoder example
  • line segments
    • drawing / Drawing line segments
  • Linux
    • installing, with Code$$Blocks / Installing on Linux with Code::Blocks
  • Linux Code$$Blocks
    • URL / Installing on Linux with Code::Blocks
  • Linux Eclipse
    • URL / Installing on Linux with Code::Blocks
  • liquify distortion example / A liquify distortion example
  • live value / A single particle
  • live video, camera
    • processing / Processing a live video from the camera
    • video synthesizer example / The video synthesizer example
  • loadImage function / Loading and drawing an image
  • loadSound function / Playing sound samples
  • localhost / Sending data
  • local network / Networking basics
  • loop sampler example / The loop sampler example

M

  • m.addFloatArg() function / Sending data
  • m.addIntArg() function / Sending data
  • m.addStringArg() function / Sending data
  • m.getNumArgs() function / Receiving data
  • machine learning method
    • Boosting / Searching for objects in an image
    • SVM / Searching for objects in an image
  • Mac OS
    • installing, with Xcode / Installing on Mac OS with Xcode
  • MadMapper / Image warping and video mapping
  • Magic Wand tool / Transparency
  • main() function / main.cpp, testApp.h, Structure of a shader's code, Creating the fragment shader, Vertex shader, The furry carpet example
  • main.cpp / main.cpp
  • mapping mesh / Image warping and video mapping
  • marching cubes algorithm / Additional topics, Additional topics
  • mask
    • image, using / An image as a mask
    • about / An image as a mask
  • masking example / A masking example
  • math folder / The examples folder
  • Mat object / Using OpenCV functions
  • memory optimization
    • ofTexture, using for / Using ofTexture for memory optimization
  • mesh.addVertex() function / Coloring the vertices, Texturing
  • mesh.addVertex( p ) function / Using ofMesh
  • mesh.draw() / Drawing line segments and points
  • mesh.drawVertices() function / Drawing line segments and points
  • mesh.drawWireframe() function / Drawing line segments and points
  • mesh.getCentroid() function / The twisting knot example
  • mesh.getNumVertices() / Working with vertices
  • mesh.setMode( mode ) function / Drawing line segments and points
  • mesh.setupIndicesAuto() function / Drawing sharp edges
  • metaballs / Additional topics
  • methods
    • used, for searching objects in image / Searching for objects in an image
  • microphone
    • using / Using a microphone
  • microphone, using
    • loop sampler example / The loop sampler example
  • Microsoft Kinect camera / Active infrared stereo cameras
  • Microsoft Visual Studio / Microsoft Visual Studio
  • MIDI / Networking basics
  • mirror( flipY, flipX ) function / Geometrical transformations of images
  • moire / Image filtering
  • morphing
    • optical flow, using for / Using optical flow for morphing
    • applying, to another image / Applying morphing to another image
  • morphological dilation / Image filtering
  • morphological erosion / Image filtering
  • morphValue parameter / Using optical flow for morphing
  • motion
    • detecting, from movies / Motion detection from movies
    • detecting, from live video / Motion detection from live video
  • mouseDragged( x, y, button ) function / Other functions
  • mouseMoved() function / The PWM synthesis example
  • mouseMoved( x, y ) function / Other functions
  • mousePressed() function / Creating interactive surface
  • mousePressed( x, y, button ) function / Other functions
  • mouseReleased( x, y, button ) function / Other functions
  • movies
    • motion, detecting from / Motion detection from movies
  • MP3 / Sound basics
  • MPEG streamclip utility / Video basics
  • multi attribute / Playing sound samples
  • multiple core computing / Computing particles' physics
  • multiple frames
    • processing / Processing multiple frames
    • radial slit-scan example / Radial slit-scan example

N

  • Name$ mySketch button / Using Project Generator
  • network address / Networking basics
  • Networking
    • about / Networking basics
  • network router / Networking basics
  • Newton's law of motion
    • URL / The bouncing ball example
  • NiTE / Active infrared stereo cameras
  • non-core addons
    • about / Addons in openFrameworks
    • URL / Addons in openFrameworks
    • installing / Installing a non-core addon
    • ofxMarchingCubes / List of selected addons
    • OfxSyphon / List of selected addons
  • normals
    • setting / Enabling lighting and setting normals
    • computing, setNormals() function used / Computing normals using the setNormals() function
  • NVIDIA CUDA / Computing particles' physics
    • about / When to use shaders

O

  • obj array / An example for searching bright objects in video
  • objects
    • deforming, with vertex shader / Deforming objects with a vertex shader
    • searching, in image / Searching for objects in an image
  • ofBackground() / Colors, Using FBO for offscreen drawings, Spirals example
  • ofBackgroundGradient() function / The background color of the screen
  • ofBeginShape() function / Additional topics
  • ofCamera class / Additional topics
  • ofCircle( p, r ) function / Operations with points
  • ofCircle( x, y, r ) function / Geometric primitives
  • ofClamp() function / Implementing a particle in the project, The bouncing ball example
  • ofClamp( v, v0, v1 ) function / Basic utility functions
  • ofColor / Colors, Working with the color of a single pixel
  • ofColor() / Colors
  • ofDisableAlphaBlending() function / Implementing a particle in the project, Transparency
  • ofDisableLighting() function / Drawing line segments
  • ofDisableSmoothing() function / Controlling the drawing of primitives
  • ofDrawBitmapString() function / Additional topics
  • ofEasyCam class / Additional topics
  • ofEnableAlphaBlending() function / Implementing a particle in the project, Transparency
  • ofEnableBlendMode() function / Transparency
  • ofEnableLighting() function / Drawing line segments
  • ofEnableSmoothing() function / Controlling the drawing of primitives
  • ofEndShape() function / Additional topics
  • ofFbo class / Using FBO for offscreen drawings
  • ofFbo fbo object / Spirals example
  • ofFbo object / Using FBO for offscreen drawings
  • ofFbo objects / Embedding shaders in our project
  • ofFill() function / Controlling the drawing of primitives, Simple 3D drawing
  • ofFloatImage class / Creating and modifying images
  • offscreen drawings
    • FBO, using for / Using FBO for offscreen drawings, Spirals example
  • ofGetElapsedTimef() function / Basic utility functions, Pulsating background example, Creating images
  • ofGetHeight() function / Basic utility functions, Drawing basics
  • ofGetWidth() function / Basic utility functions, Drawing basics
  • ofHideCursor() function / Basic utility functions
  • ofImage class / Screen grabbing, Creating and modifying images, Drawing functions
  • ofImage object / Loading and drawing an image
  • ofLight class / Enabling lighting and setting normals, Additional topics
  • ofLine() / Controlling the drawing of primitives, Using FBO for offscreen drawings
  • ofLine( p1, p2 ) function / Operations with points
  • ofLine( x1, y1, x2, y2 ) function / Geometric primitives
  • ofMap() function / Pulsating background example, Creating images
  • ofMap( v, v0, v1, out0, out1 ) function / Basic utility functions
  • ofMesh
    • using / Using ofMesh
    • lighting, enabling / Enabling lighting and setting normals
    • normals, setting / Enabling lighting and setting normals
  • ofMesh class / The triangles cloud example, Drawing sharp edges
  • ofMesh object / Computing particles' physics
  • ofNoFill() function / Controlling the drawing of primitives, Simple 3D drawing
  • ofNoise() function / Using image sequence example
    • using / Using the ofNoise() function
    • about / Space-coherent noise
  • ofNoise( t ) function / Perlin noise basics, Using the ofNoise() function
  • ofNoise(t) function / Using the ofNoise() function
  • ofNoise( x, y ) function / Space-coherent noise
  • ofPoint
    • about / Using ofPoint
    • using / Using ofPoint
    • operating, with points / Operations with points
    • control points, using / Using control points example
  • ofPoint class / Simple 3D drawing
  • ofPoint object / Hand-tracking examples
  • ofPopMatrix() / Rotating images, Simple 3D drawing, Using vertex shader in our project
  • ofPopMatrix() function / Coordinate system transformations
  • ofPushMatrix() / Rotating images, Simple 3D drawing
  • ofPushMatrix() function / Coordinate system transformations
  • ofRandom( a, b ) function / Basic utility functions
  • ofRect( p, w, h ) function / Operations with points
  • ofRect( x, y, w, h ) function / Geometric primitives
  • ofRotate() / Rotating images
  • ofRotate() function / Simple 3D drawing
  • ofRotate( angle ) function / Coordinate system transformations
  • ofRotate( angle, x, y, z ) function / Simple 3D drawing
  • ofScale() / Rotating images, Computing normals using the setNormals() function
  • ofScale( scaleX, scaleY ) function / Coordinate system transformations
  • ofScale( x, y, z ) function / Simple 3D drawing
  • ofSetBackground() function / The background color of the screen, Pulsating background example
  • ofSetBackgroundAuto( false ) function / Drawing with an uncleared background
  • ofSetCircleResolution( res ) function / Controlling the drawing of primitives
  • ofSetColor() / Controlling the drawing of primitives, Colors, Color modulation, Simple 3D drawing, Texturing
  • ofSetColor() function / Color modulation, Coloring the vertices, The vertex shader
  • ofSetColor( r, g, b ) function / Controlling the drawing of primitives
  • ofSetFrameRate( rate ) parameter / setup()
  • ofSetFullscreen( v ) parameter / setup()
  • ofSetLineWidth() function / Simple 3D drawing
  • ofSetupOpenGL() function / main.cpp
  • ofSetVerticalSync( v ) parameter / setup()
  • ofSetWindowShape() function / Other functions
  • ofSetWindowShape( w, h ) parameter / setup()
  • ofShader object / Embedding shaders in our project
  • ofShader objects / Embedding shaders in our project
  • ofShortImage class / Creating and modifying images
  • ofShowCursor() function / Basic utility functions
  • ofSignedNoise( t ) / Using the ofNoise() function
  • ofSoundPlayer class / Playing sound samples
  • ofSoundStopAll() / Playing sound samples
  • ofSoundUpdate() / Playing sound samples, The bouncing ball example
  • ofTexture
    • used, for memory optimization / Using ofTexture for memory optimization
    / Using ofTexture for memory optimization
  • ofThread class / Computing particles' physics
  • ofToFloat( s ) function / Basic utility functions
  • ofToInt( s ) function / Basic utility functions
  • ofToString( v ) function / Basic utility functions
  • ofTranslate() / Rotating images
  • ofTranslate( p ) function / Coordinate system transformations
  • ofTranslate( x, y ) function / Coordinate system transformations
  • ofTranslate( x, y, z ) function / Simple 3D drawing
  • ofTriangle() / Using ofMesh
  • ofTriangle( p1, p2, p3 ) function / Operations with points
  • ofTriangle( x1, y1, x2, y2, x3, y3 ) function / Geometric primitives
  • ofTrueTypeFont class / Additional topics
  • ofURLFileLoader class / Using TCP protocol for streaming images
  • ofVboMesh / Rendering particles
  • ofVBOMesh / Using ofMesh
  • ofVertex() function / Additional topics
  • ofx3DModelLoader / List of selected addons
  • ofxAssimpModelLoader / List of selected addons
  • ofxBox2d addon
    • URL / Additional topics
  • ofxCvColorImage class / Using ofxOpenCv, Image initializing
  • ofxCvColorImage image / An example for searching bright objects in video
  • ofxCvContourFinder class / Using ofxOpenCv, Perspective distortion removing example, Using the ofxCvContourFinder class for finding contours
    • used, for finding contours / Using the ofxCvContourFinder class for finding contours
  • ofxCvFloatImage class / Using ofxOpenCv, Image initializing, Access to pixels
  • ofxCvGrayscaleImage class / Using ofxOpenCv, Image initializing, Image filtering
  • ofxCvHaarFinder class / Using ofxOpenCv
  • ofxCvImage class / Using ofxOpenCv
  • ofxCv images / Working with ofxCv images
    • working with / Working with ofxCv images
    • initializing / Image initializing
    • algebraic operations, with images / Algebraic operations with images
    • functions, drawing / Drawing functions
    • pixels, accessing / Access to pixels
    • color planes, working / Working with color planes and color spaces conversion
    • color spaces conversion, working / Working with color planes and color spaces conversion
    • motion, detecting from movies / Motion detection from movies
    • algorithm parameters / Discussing the algorithm's parameters
    • motion, detecting from live video / Motion detection from live video
    • blur( winSize ) function / Image filtering
    • blurGaussian( winSize ) function / Image filtering
    • erode() function / Image filtering
    • dilate() function / Image filtering
    • convertToRange( minValue, maxValue ) / Image filtering
    • invert() operation / Image filtering
  • ofxCvShortImage class / Using ofxOpenCv, Image initializing
  • ofxMarchingCubes / List of selected addons
  • ofxMarchingCubes addon
    • URL / Additional topics
  • ofxMSAFluid / Interaction types
  • ofxNetwork / List of selected addons
  • ofxNetwork addon / Using TCP protocol for streaming images
  • ofxOpenCv
    • using / Using ofxOpenCv
    / List of selected addons
  • ofxOpenCv addon / Understanding computer vision and OpenCV, Access to pixels, The image filtering example, An example for searching bright objects in video
  • ofxOpenNI addon
    • installing / Installing the ofxOpenNI addon
    • URL / Installing the ofxOpenNI addon
  • ofxOpenNI examples
    • depth images examples / Working with examples of depth images
    • hand-tracking examples / Hand-tracking examples
    • user tracking examples / User tracking examples
  • ofxOpenNIHand object / Hand-tracking examples
  • ofxOsc / List of selected addons
  • ofxOsc addon / Using OSC protocol
  • ofxOscBundle object / Sending data
  • ofxSvg / List of selected addons
  • OfxSyphon / List of selected addons
  • ofxSyphon addon / The streaming images example
  • ofxTCPClient client object / Using TCP protocol for streaming images
  • ofxTCPServer server object / Using TCP protocol for streaming images
  • ofxThreadedImageLoader / List of selected addons
  • ofxVectorGraphics / List of selected addons
  • ofxXmlSettings / List of selected addons
  • ofxXmlSettings class / Linking addons to a new project
  • OF_GRADIENT_BAR / The triangles cloud example
  • OF_GRADIENT_CIRCULAR / The triangles cloud example
  • OF_GRADIENT_LINEAR / The triangles cloud example
  • OF_IMAGE_COLOR / Creating and modifying images
  • OF_IMAGE_COLOR_ALPHA / Creating and modifying images
  • OF_IMAGE_GRAYSCALE / Creating and modifying images
  • OF_PRIMITIVE_LINES / Drawing line segments and points
  • OF_PRIMITIVE_POINTS / Drawing line segments and points
  • OF_PRIMITIVE_TRIANGLES / Drawing line segments and points
  • OK button / Using Project Generator
  • online shader sandboxes
    • URL / Basics of shaders
  • OpenCL / Computing particles' physics
    • about / When to use shaders, Understanding computer vision and OpenCV
  • OpenCV
    • about / Understanding computer vision and OpenCV, Using OpenCV functions
  • OpenCV functions
    • using / Using OpenCV functions
    • Optical flow / Optical flow
  • openFrameworks
    • about / About openFrameworks, 3D scene rendering
    • URL / About openFrameworks
    • architectural specifics / Use cases
    • use cases / Use cases
    • license, URL / Use cases
    • installing / Installing openFrameworks and running your first example
    • installing, on Windows / Installing on Windows, Microsoft Visual Studio
    • installing, on Mac OS with Xcode / Installing on Mac OS with Xcode
    • installing, on Linux with Code$$Blocks / Installing on Linux with Code::Blocks
    • project, creating / Creating your first project – the Pendulum example
  • openFrameworks folders
    • about / openFrameworks' folders
    • examples folder / The examples folder
    • apps folder / The apps folder
    • addons folder / The addons folder
  • OpenGL
    • about / Understanding computer vision and OpenCV
  • OpenGL's Transform feedback feature / Computing particles' physics
  • OpenGL's Transform Feedback feature
    • URL / When to use shaders
  • Open Graphics Library (OpenGL) / 3D scene rendering
  • OpenNI
    • URL / Active infrared stereo cameras
  • openNIDevice.setRegister( true ) function / Working with examples of depth images
  • openNIDevice object / Working with examples of depth images, Creating interactive surface
  • optical flow / Processing multiple frames
  • Optical flow / Optical flow
    • applications / Optical flow
    • video morphing example / Video morphing example
    • used, for morphing / Using optical flow for morphing
  • OSC
    • about / Networking basics
    • using / Typical schemes of OSC usage
  • oscillating plane example / The oscillating plane example
  • OSC protocol
    • using / Using OSC protocol
    • used, for sending data / Sending data
    • used, for receiving data / Receiving data

P

  • p.length() function / Operations with points
  • p.normalize() function / Operations with points
  • palette
    • image, using / An image as a palette
  • parallax effect / Depth camera basics
  • param object / Defining the particle functions
  • Params$$setup() function / Control parameters
  • Params class / The attraction, repulsion, and spinning forces
  • particle
    • about / A single particle
    • control parameters / Control parameters
    • functions, defining / Defining the particle functions
    • implementing, in project / Implementing a particle in the project
  • Particle$$draw() / Defining the particle functions
  • Particle$$setup() function / Defining the particle functions
  • Particle$$update() function / Defining the particle functions, The attraction, repulsion, and spinning forces
  • Particle class / A single particle, Control parameters
  • particles / Representation of 3D objects
  • particle systems
    • about / The basics of particle systems
    • interaction types / Interaction types
    • computing / Computing particles' physics
    • rendering / Rendering particles
    • creating / Creating a particle system – summary
  • Passive stereo camera / Depth camera basics
  • PCL library / Active infrared stereo cameras
  • Perlin noise
    • used, in shaders / Using Perlin noise in shaders
    • liquify distortion example / A liquify distortion example
    • about / Perlin noise basics
    • advantages / Perlin noise basics
  • Perspective distortion
    • removing, example / Perspective distortion removing example
    • about / Perspective distortion removing example
  • phase parameter / Vertex shader
  • Ping-Pong FBO method / Computing particles' physics, Additional topics
  • pixel operations / Image filtering
  • pixels / Drawing basics, Raster and vector images
    • accessing / Access to pixels
  • PNG / Loading and drawing an image
  • points
    • drawing / Drawing points
  • point sprites
    • using / Rendering particles
  • port number / Networking basics
  • PrimeSense Carmine camera / Active infrared stereo cameras
  • probability distribution / Defining the particle functions
  • Processing sketches
    • URL / Additional topics
  • programming environments
    • Microsoft Visual Studio / Microsoft Visual Studio
    • Code$$Blocks (Windows) / Code::Blocks (Windows)
  • project
    • file structure / File structure of a project
    • code structure / Code structure of a project
    • creating, from existing example / Creating a project from an existing example
    • creating, Project Generator used / Creating a project using Project Generator, Using Project Generator
    • particle, implementing / Implementing a particle in the project
    • shaders, embedding / Embedding shaders in our project
    • vertex shader, using / Using vertex shader in our project
    • running / Running the project
    • addon, using / Using OSC protocol
    • addons, linking to / Linking addons to a new project
  • Project Generator / Installing the ofxOpenNI addon
    • project, creating / Creating a project using Project Generator
    • used, for creating new project / Using Project Generator
  • Project Generator wizard / Linking addons to a new project
  • project screen
    • grabbing / Screen grabbing
  • protocols
    • used, for data transmission / Networking basics
  • pseudo-random behavior / Perlin noise basics
  • Pulse Code Modulation (PCM) / Sound basics
  • PWM
    • about / The PWM synthesis example
  • PWM synthesis example / The PWM synthesis example

Q

  • quads / Representation of 3D objects

R

  • radial slit-scan
    • about / Radial slit-scan example
    • horizontal slit-scan / Horizontal slit-scan
    • color interpolation / Discussing color interpolation
  • Random Access Memory (RAM) / Using ofTexture for memory optimization
  • randomPointInCircle() function / Defining the particle functions
  • randomPointInCircle( maxRad ) function / Defining the particle functions
  • raster graphics / Drawing basics
  • raster images / Raster and vector images
  • ray tracing / 3D scene rendering
  • Rebuild command / The PWM synthesis example
  • receiver.setup() function / Receiving data
  • recorded sample
    • saving, to file / Saving a recorded sample to the file
  • Release mode / File structure of a project, An emitter, Creating interactive surface
  • remap() function / Using optical flow for morphing
  • remap( mapX, mapY ) function / Geometrical transformations of images
  • removeVertex( i ) function / Working with vertices
  • Render / The streaming images example
  • replacing colors example / The replacing colors example
  • repulsion force / The attraction, repulsion, and spinning forces
  • resize() function / Image initializing
  • resize( w, h ) function / Geometrical transformations of images
  • RGB (Red, Green, Blue) color space / Working with color planes and color spaces conversion
  • rotate( angle, centerX, centerY ) function / Geometrical transformations of images
  • rotate parameter / Implementing a particle in the project
  • Run button / Code::Blocks (Windows)

S

  • sample.play() / Playing sound samples
  • saturation arithmetic / Algebraic operations with images
  • scale( scaleX, scaleY ) function / Geometrical transformations of images
  • scaleIntoMe( mom, interpolationMethod ) function / Geometrical transformations of images
  • sender.sendMessage() / Sending data
  • sender.setup() / Sending data
  • sender.setup() function / Sending data
  • set( value ) function / Image initializing
  • setBrightness() / Operations with colors
  • setFrame( frame ) function / Controlling the video playback
  • setHsb( hue, saturation, brightness ) function / Operations with colors
  • setHue( hue ) function / Operations with colors
  • setLoop( looping ) function / Playing sound samples
  • setLoopState( state ) function / Controlling the video playback
  • setMultiPlay( multi ) function / Playing sound samples
  • setNativeScale() function / Using OpenCV functions
  • setNormals() function / Enabling lighting and setting normals, The oscillating plane example, The twisting knot example
    • used, for computing normals / Computing normals using the setNormals() function
  • setPan( pan ) function / Playing sound samples
  • setPaused( bPause ) function / Controlling the video playback
  • setPaused( pause ) function / Playing sound samples
  • setPosition( pos ) function / Controlling the video playback, Playing sound samples
  • setPositionMS( ms ) function / Playing sound samples
  • setSaturation() / Operations with colors
  • setSpeed( speed ) function / Controlling the video playback, Playing sound samples
  • setUniform1f function / Passing a float parameter to a shader
  • setup() function / setup(), Defining the particle functions, Radial slit-scan example, Using image sequence example, The bouncing ball example, The singing voices example, Image-to-sound transcoder example, The loop sampler example, Dancing cloud example, The triangles cloud example, The oscillating plane example, The twisting knot example, Embedding shaders in our project, The image filtering example, Creating interactive surface
  • setVertex( i, p ) function / Working with vertices
  • setVolume( vol ) function / Playing sound samples
  • setVolume( volume ) method / Controlling the video playback
  • shader's code
    • structure / Structure of a shader's code
  • shader.begin() / Embedding shaders in our project
  • shader.enable() / Processing several images
  • shader.end() / Embedding shaders in our project
  • shader.load() / Embedding shaders in our project
  • shader.load() function / The furry carpet example
  • shader object / Embedding shaders in our project
  • shaders
    • about / Basics of shaders
    • vertex shader / Types of shaders
    • geometry shader / Types of shaders
    • fragment shader / Types of shaders
    • using / When to use shaders
    • compute shader / When to use shaders
    • embedding, in project / Embedding shaders in our project
    • debugging / Debugging shaders
    • working / Debugging shaders
    • float parameter, passing to / Passing a float parameter to a shader
    • simple geometrical distortion example / A simple geometrical distortion example
    • float array, passing to / Passing the float array to the shader
    • Perlin noise, using / Using Perlin noise in shaders, A liquify distortion example
    • images, processing / Processing several images
    • audio-reactive project example / An audio-reactive project example
  • sharp edges
    • drawing / Drawing sharp edges
  • simple geometrical distortion example / A simple geometrical distortion example
  • simplex noise / Perlin noise basics
  • sin(...) function / Pulsating background example
  • singing voices example / The singing voices example
  • single core computing / Computing particles' physics
  • single video frame
    • processing / Processing a single video frame, The vertical lines image example, The replacing colors example
    • vertical lines image example / The vertical lines image example
    • replacing colors example / The replacing colors example
  • slit-photography / Processing multiple frames
  • sound
    • about / Sound basics
    • generating / Generating sounds
    • spectral data, obtaining from / Getting spectral data from sound
  • sound, generating
    • PWM synthesis example / The PWM synthesis example
    • image-to-sound transcoder example / Image-to-sound transcoder example
  • sound file formats
    • WAV / Sound basics
    • MP3 / Sound basics
    • AIFF / Sound basics
  • sound folder / The examples folder
  • sound sample
    • about / Sound basics
    • playing / Playing sound samples
    • bouncing ball example / The bouncing ball example
    • singing voices example / The singing voices example
  • soundStream.close() function / Generating sounds
  • soundStream.listDevices() function / Generating sounds, The loop sampler example
  • soundStream.start() function / Generating sounds
  • soundStream.stop() function / Generating sounds
  • space-coherent noise
    • about / Space-coherent noise
  • spectral data
    • obtaining, from sound / Getting spectral data from sound
  • spectrum / Getting spectral data from sound
  • spinning force / The attraction, repulsion, and spinning forces
  • square wave / The PWM synthesis example
  • statistical homogeneity
    • about / Using the ofNoise() function
  • stop() function / Controlling the video playback, Playing sound samples
  • streaming images
    • TCP protocol, using for / Using TCP protocol for streaming images
    • example / The streaming images example
  • structured randomness effect / The bouncing ball example
  • SVM / Searching for objects in an image
  • swizzle / Structure of a shader's code
  • Syphon / The streaming images example
  • Syphon protocol / Image warping and video mapping, List of selected addons

T

  • TCP
    • about / Networking basics
  • TCP/IP / Networking basics
  • TCP protocol
    • used, for streaming images / Using TCP protocol for streaming images
  • Template matching / Searching for objects in an image
  • testApp$$audioOut function / Generating sounds
  • testApp$$audioReceived function / Using a microphone
  • testApp$$draw() function / Creating your first project – the Pendulum example, The background color of the screen, Pulsating background example, The simplest example of a flower, Using control points example, Coordinate system transformations, Color modifications example, Drawing with an uncleared background, Using FBO for offscreen drawings, Implementing a particle in the project, Loading and drawing an image, Using ofMesh, Motion detection from movies, Video morphing example
  • testApp$$keyPressed() function / Screen grabbing
  • testApp$$setup() function / Creating your first project – the Pendulum example, The background color of the screen, Using FBO for offscreen drawings, Spirals example, Implementing a particle in the project, An emitter, A simple geometrical distortion example, Generating sounds, Video morphing example, Sending data, Receiving data
  • testApp$$update() function / Creating your first project – the Pendulum example, Using control points example, Spirals example, Implementing a particle in the project, An emitter, Creating images, Modifying images, Motion detection from movies, Receiving data
  • testApp.cpp
    • setup() function / setup()
    • update() function / update()
    • draw() function / draw()
    • other functions / Other functions
  • testApp.h / testApp.h
  • testApp class / testApp.h, Using control points example, Using FBO for offscreen drawings, A single particle, Implementing a particle in the project, An emitter, Loading and drawing an image, The bouncing ball example, Generating sounds, Using a microphone, The triangles cloud example, Using ofMesh, Embedding shaders in our project, The image filtering example, Video morphing example, Creating interactive surface, Sending data, Receiving data
  • testApp object / Generating sounds, Using a microphone
  • texture.draw() method / Image warping and video mapping
  • texture2DRect function / Creating the fragment shader
  • textures / Using ofTexture for memory optimization
  • texturing
    • about / Texturing
  • thread / Computing particles' physics
  • threshold() function / Image filtering
  • threshold parameter / Discussing the algorithm's parameters
  • TIFF / Loading and drawing an image
  • Time-of-flight camera / Depth camera basics
  • time displacement / Processing multiple frames
  • time parameter / Passing a float parameter to a shader, A simple geometrical distortion example
  • time step / A single particle
  • time variable / A simple geometrical distortion example
  • Tracker / The streaming images example
  • trails / Implementing a particle in the project
  • transcoding / Image-to-sound transcoder example
  • Transform Feedback
    • about / When to use shaders
    • URL / When to use shaders
  • translate( shiftX, shiftY ) function / Geometrical transformations of images
  • transparency / Transparency
  • triangles cloud example / The triangles cloud example
  • twisting knot example / The twisting knot example

U

  • UDP
    • about / Using OSC protocol
  • uncleared background
    • drawing with / Drawing with an uncleared background
  • undistort function / Perspective distortion removing example
  • uniform keyword / Passing a float parameter to a shader
  • uniform parameter / Processing several images
  • uniform sampler2DRect parameter / Processing several images
  • unloadSound() function / Playing sound samples
  • unsigned short type / Creating and modifying images
  • update() function / update(), A single particle, Implementing a particle in the project, Radial slit-scan example, Using image sequence example, The bouncing ball example, The singing voices example, Image-to-sound transcoder example, Using a microphone, The loop sampler example, Dancing cloud example, The triangles cloud example, The oscillating plane example, The twisting knot example, Embedding shaders in our project, Using vertex shader in our project, Motion detection from movies, The image filtering example, An example for searching bright objects in video, Creating interactive surface, Running the project
  • updateBall() / The bouncing ball example
  • updateBall() function / The bouncing ball example
  • updateTexture() / Drawing functions, Access to pixels
  • UserAndCloud-Medium example / User tracking examples
  • UserAndCloud-Simple example / User tracking examples
  • user tracking examples
    • UserAndCloud-Simple example / User tracking examples
    • UserAndCloud-Medium example / User tracking examples
  • utility functions / Basic utility functions
  • utils folder / The examples folder

V

  • vector field / Optical flow
  • vector graphics / Drawing basics
  • vector images / Raster and vector images
  • vel.rotate() function / Defining the particle functions
  • velRotate value / Defining the particle functions
  • Verlet integration
    • about / Defining the particle functions
    • URL / Defining the particle functions
  • Vertex Buffer Object (VBO) / Using ofMesh
  • vertex shader
    • about / Types of shaders, The vertex shader, Vertex shader
    • objects, deforming with / Deforming objects with a vertex shader
    • using, in project / Using vertex shader in our project
  • vertex shaders
    • using / Computing particles' physics
  • vertical lines image example / The vertical lines image example
  • vertices
    • coloring / Coloring the vertices
    • working with / Working with vertices
  • video
    • mapping / Image warping and video mapping
    • motion, detecting from / Motion detection from live video
    • bright objects, searching / An example for searching bright objects in video
  • video.isFrameNew() function / Playing a video file
  • video effects
    • creating, with fragment shaders / Creating video effects with fragment shaders
  • video file
    • playing / Playing a video file
  • video folder / The examples folder
  • video morphing example / Video morphing example
  • video playback
    • controlling / Controlling the video playback
  • videos
    • basics / Video basics
  • Viola-Jones algorithm / Searching for objects in an image
  • Viola-Jones method / Using ofxOpenCv
  • void main() function / Structure of a shader's code

W

  • warpPerspective() / Perspective distortion removing example
  • warpPerspective( A, B, C, D ) function / Geometrical transformations of images
  • WAV / Sound basics
  • webgl-noise library
    • URL / Using Perlin noise in shaders
  • windowResized( w, h ) function / Other functions
  • wireframe drawing / Drawing line segments and points
  • WLAN / Networking basics
  • wrapper / Addons basics

X

  • Xcode
    • Mac OS, installing with / Installing on Mac OS with Xcode

Z

  • z-buffer / 3D scene rendering
  • ZigBee / Networking basics
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image