Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OPEN FRAMEWORKS +   KINECT PART 1      @GAFFTA
Open Frameworks is an open source,creative coding platform.
Makes it easy to start c++More power with less headache
Overscan   SO SO Limitedhttp://www.creativeapplications.net/openframeworks/overscan-openframeworks/
Scramble Suit   Kyle McDonald + Arturo Castro + Othershttp://www.creativeapplications.net/openframeworks/scramble-suit-fac...
Nodebeat   Justin Windle + Seth Sandlerhttp://www.creativeapplications.net/iphone/nodebeat-iphone-ipad-of/
Entrails   By Lukasz Karlukhttp://www.creativeapplications.net/openframeworks/entrails-openframeworks/
University of Dayton Interactive Wall   By Flight Phasehttp://www.creativeapplications.net/openframeworks/interactive-wall...
Starry Night Van Gough Interactive   by Petros Vrellishttp://www.creativeapplications.net/openframeworks/vincent-van-goghs...
Bloom Skin   by Elttob Tep issey Miyakehttp://www.creativeapplications.net/openframeworks/bloom-skin-the-wave-installation...
Screen Lab #2   Screen Lab + MediaCityUKhttp://www.creativeapplications.net/environment/screenlab-2/
CLOUDS Interactive Documentary   James George + Jonathan Minardhttp://www.creativeapplications.net/openframeworks/clouds-i...
Mclaren P12 Trailer   Marshmellow Laser Feasthttp://www.creativeapplications.net/processing/mclaren-p12-teaser-mclaren-vs-...
Light Form   Mathieu Rivier ( ECAL )http://www.creativeapplications.net/openframeworks/light-form-interactive-landscape-by...
Saatchi and Saatchi New Directors Showcase   Marshmellow Laser Feasthttp://www.creativeapplications.net/openframeworks/lig...
Paik Times Five   By Flightphasehttp://www.creativeapplications.net/openframeworks/light-form-interactive-landscape-by-mat...
How do I use Open Frameworks ? A few IDE options:       XCode                Code::blocks        Visual Studio        mac ...
Image + Video Utilities
Vector Graphics API
Sound in / out , panning, volume, play speed
Geometry Shader
GLSL Shader Example
Open GL 3D Utilities: Vector Classes , Geometry and TextureUtilities, Camera Control
String utilities, file system access
Core addons include...
XML Manipulation
Servers and Connections - TCP / UDP / OSC
OpenCV Wrapper
3D Model Animation loader
But the real power of Open Frameworks is in the community
Recently, www.ofxAddons.com was created whichmakes finding these great addons easy !
ofxBullet - Bullet Physics Wrappergithub.com/NickHardemann/ofxBullet
Multiple Augmented Reality LibrariesSURF , ARToolkit , Qualcomm
and all of it is open source
Your first App !  Download OF for your platform from :  http://www.openframeworks.cc/download/  Copy the OF download to som...
Recently the community created a project genearator whichmakes it easier to get started.
You can also include any addons you want from the start toavoid messing with any compiler settings.
Main.cppSets up the window size and openGL contextRuns application class until quit
The Application Cake.Ingredients - .h filesInstructions - .cpp files
testApp.hdeclaration of class, functions, and variables
testApp.himplementation of class, functions, and variables
setup ( ) load assets initialize values initialize addons or components
update( ) apply force to particles calculations increment video frames
draw ( ) draw shapes/images/videos use GLSL Shaders Apply Blend Modes Save Pixels from screen
Look at the folder 00_basics for class outline
There is no var keyword.#include is your new importfloat = AS3 numberlots of similar of types    string, int, uint
Functions look a little different, with the return type atthe start of the declaration.Multiple functions can share the sa...
C++ Compiler - Step 1   Step 1   Preprocessor runs through and combines all your code in one   giant file. Target the prepr...
GithubGithub is awesome.Go there. like now and sign up.github.com
GithubGithub is a social coding platform that allows you tohost a git repository for free as long as it’s public andopen s...
GithubGithub is a great way to move your own files betweenmachines.It has built in issue tracker and and wiki capabilities....
Git Quick Tip.gitignore is a file specific to a repository that allowsyou to specify what is not tracked by git.with c++ nor...
Translation with Transformation MatricesInstead of moving an object on the screen,the entire screen is moved.Think of it a...
Simple Translateto build off of the current space or to end a local spaceuse:ofPushMatrix( )andofPopMatrix( )
Simple Translate
Simple Rotation
Simple Scaling
Order Matters
01 CirclesStep 1  Draw a circle with a random color where the mouse  cursor is.
01 CirclesStep 2  Create struct ColorPoint, structs are like classes  except they cannot have methods. A struct is useful ...
01 CirclesStep 3  Draw screen into a Frame Buffer Object ( FBOs )  FBOs are called with begin() and end()  Anything betwee...
01 CirclesStep 4 - BONUS  Pull colors from a color palette.
02 AnimatorStep 1  Create a looping sequence of FBOs  Draw a circle into wherever the mouse is
02 AnimatorStep 2  Scale the circle radius based on mouse speed  And draw a random color
02 AnimatorStep 3  Including an addon  We will use ofxUI to add some sliders to make our  animator a little more fun. Addi...
03 ParticlesStep 1  Load an Image  Create still particles from the raw pixels of the image
03 ParticlesStep 2  Add the repulse / attract modes to the system Add particle alpha trails
03 ParticlesStep 3  Update particles colors from a movie Loading a movie
Joining the Community !Introduce yourself at :http://forum.openframeworks.cc/index.php/board,11.0.htmlThe OF community is ...
How to be a good community member ?Read your IDE’s in depth forum walkthrough it willsave you a lot of hassle.Search the f...
Additional ResourcesThere are now official OF tutorials !http://openframeworks.cc/tutorialsRoxlu has a wonderful collection...
Additional ResourcesUnofficial c++ reading listhttp://forum.openframeworks.cc/index.php/topic,9034.msg42670.htmlProcessing ...
Additional ResourcesJeffery Crouse has some really good tutorials and is aprofessorhttp://www.jeffcrouse.info/teaching/Cre...
Ben McChesneyLead Experience DeveloperHelios Interactive@bendesigning on twitterbenmcchesney.com/benmcchesney.com/bloggith...
THANK YOU
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
Upcoming SlideShare
Loading in …5
×

Hacking the Kinect with GAFFTA Day 1

5,899 views

Published on

First day of slides for @GAFFTA workshop http://www.gaffta.org/2012/07/24/hacking-the-kinect-with-openframeworks/

Part 1 of the live stream : http://www.youtube.com/watch?v=WXfy8Cuje-0&feature=plcp

Part 2 of the live stream :
http://www.youtube.com/watch?v=I80FsOlMPj8&feature=plcp

Published in: Technology
  • Be the first to comment

Hacking the Kinect with GAFFTA Day 1

  1. 1. OPEN FRAMEWORKS + KINECT PART 1 @GAFFTA
  2. 2. Open Frameworks is an open source,creative coding platform.
  3. 3. Makes it easy to start c++More power with less headache
  4. 4. Overscan SO SO Limitedhttp://www.creativeapplications.net/openframeworks/overscan-openframeworks/
  5. 5. Scramble Suit Kyle McDonald + Arturo Castro + Othershttp://www.creativeapplications.net/openframeworks/scramble-suit-face-tracking-openframeworks/
  6. 6. Nodebeat Justin Windle + Seth Sandlerhttp://www.creativeapplications.net/iphone/nodebeat-iphone-ipad-of/
  7. 7. Entrails By Lukasz Karlukhttp://www.creativeapplications.net/openframeworks/entrails-openframeworks/
  8. 8. University of Dayton Interactive Wall By Flight Phasehttp://www.creativeapplications.net/openframeworks/interactive-wall-at-ud-openframeworks-kinect/
  9. 9. Starry Night Van Gough Interactive by Petros Vrellishttp://www.creativeapplications.net/openframeworks/vincent-van-goghs-starry-night-interactive-by-petros-vrellis-openframeworks/
  10. 10. Bloom Skin by Elttob Tep issey Miyakehttp://www.creativeapplications.net/openframeworks/bloom-skin-the-wave-installation-for-elttob-tep-issey-miyake/
  11. 11. Screen Lab #2 Screen Lab + MediaCityUKhttp://www.creativeapplications.net/environment/screenlab-2/
  12. 12. CLOUDS Interactive Documentary James George + Jonathan Minardhttp://www.creativeapplications.net/openframeworks/clouds-interactive-documentary-exploring-the-creativity-through-the-lens-of-code/
  13. 13. Mclaren P12 Trailer Marshmellow Laser Feasthttp://www.creativeapplications.net/processing/mclaren-p12-teaser-mclaren-vs-aerodynamics-by-mlf/
  14. 14. Light Form Mathieu Rivier ( ECAL )http://www.creativeapplications.net/openframeworks/light-form-interactive-landscape-by-mathieu-rivier-ecal/
  15. 15. Saatchi and Saatchi New Directors Showcase Marshmellow Laser Feasthttp://www.creativeapplications.net/openframeworks/light-form-interactive-landscape-by-mathieu-rivier-ecal/
  16. 16. Paik Times Five By Flightphasehttp://www.creativeapplications.net/openframeworks/light-form-interactive-landscape-by-mathieu-rivier-ecal/
  17. 17. How do I use Open Frameworks ? A few IDE options: XCode Code::blocks Visual Studio mac mac, windows , linux windows
  18. 18. Image + Video Utilities
  19. 19. Vector Graphics API
  20. 20. Sound in / out , panning, volume, play speed
  21. 21. Geometry Shader
  22. 22. GLSL Shader Example
  23. 23. Open GL 3D Utilities: Vector Classes , Geometry and TextureUtilities, Camera Control
  24. 24. String utilities, file system access
  25. 25. Core addons include...
  26. 26. XML Manipulation
  27. 27. Servers and Connections - TCP / UDP / OSC
  28. 28. OpenCV Wrapper
  29. 29. 3D Model Animation loader
  30. 30. But the real power of Open Frameworks is in the community
  31. 31. Recently, www.ofxAddons.com was created whichmakes finding these great addons easy !
  32. 32. ofxBullet - Bullet Physics Wrappergithub.com/NickHardemann/ofxBullet
  33. 33. Multiple Augmented Reality LibrariesSURF , ARToolkit , Qualcomm
  34. 34. and all of it is open source
  35. 35. Your first App ! Download OF for your platform from : http://www.openframeworks.cc/download/ Copy the OF download to somewhere more permanent. Everything you do for openFrameworks needs to be within this directory. You may need to do some initial setup, check http:// www.openframeworks.cc/setup/ for detailsLiterally do this.
  36. 36. Recently the community created a project genearator whichmakes it easier to get started.
  37. 37. You can also include any addons you want from the start toavoid messing with any compiler settings.
  38. 38. Main.cppSets up the window size and openGL contextRuns application class until quit
  39. 39. The Application Cake.Ingredients - .h filesInstructions - .cpp files
  40. 40. testApp.hdeclaration of class, functions, and variables
  41. 41. testApp.himplementation of class, functions, and variables
  42. 42. setup ( ) load assets initialize values initialize addons or components
  43. 43. update( ) apply force to particles calculations increment video frames
  44. 44. draw ( ) draw shapes/images/videos use GLSL Shaders Apply Blend Modes Save Pixels from screen
  45. 45. Look at the folder 00_basics for class outline
  46. 46. There is no var keyword.#include is your new importfloat = AS3 numberlots of similar of types string, int, uint
  47. 47. Functions look a little different, with the return type atthe start of the declaration.Multiple functions can share the same name, as long asthey have different input parameters or return types.
  48. 48. C++ Compiler - Step 1 Step 1 Preprocessor runs through and combines all your code in one giant file. Target the preprocessor with the “#” symbol Step 2 Compiler parses code and make sure there are no errors. Your code is broken down into a lower level language: Assembly. Step 3 The Assembly code is turned into readable code by the computer inside object files. Step 4 The object files are linked together into an executable file.show person staring at a screen stereotypicallymonkey at a computer works tooFirst you write some code. You could do this in your IDE ( xcode )
  49. 49. GithubGithub is awesome.Go there. like now and sign up.github.com
  50. 50. GithubGithub is a social coding platform that allows you tohost a git repository for free as long as it’s public andopen source.Github has great resources for getting started with githttp://help.github.com/
  51. 51. GithubGithub is a great way to move your own files betweenmachines.It has built in issue tracker and and wiki capabilities.Great way to collaborate and share code.
  52. 52. Git Quick Tip.gitignore is a file specific to a repository that allowsyou to specify what is not tracked by git.with c++ normally this is excessive IDE generatedfiles, and build files.Binary files don’t track super well on git because thereare no changes to track except files size. butsometimes you need to include them anyway.
  53. 53. Translation with Transformation MatricesInstead of moving an object on the screen,the entire screen is moved.Think of it as a global registration point.
  54. 54. Simple Translateto build off of the current space or to end a local spaceuse:ofPushMatrix( )andofPopMatrix( )
  55. 55. Simple Translate
  56. 56. Simple Rotation
  57. 57. Simple Scaling
  58. 58. Order Matters
  59. 59. 01 CirclesStep 1 Draw a circle with a random color where the mouse cursor is.
  60. 60. 01 CirclesStep 2 Create struct ColorPoint, structs are like classes except they cannot have methods. A struct is useful for storing grouped data. Store each color point in a vector<> which operates similar to a dynamically sized array
  61. 61. 01 CirclesStep 3 Draw screen into a Frame Buffer Object ( FBOs ) FBOs are called with begin() and end() Anything between those functions will be stored and be available for use later. Mirror the FBO vertical / horizontal for symmetry
  62. 62. 01 CirclesStep 4 - BONUS Pull colors from a color palette.
  63. 63. 02 AnimatorStep 1 Create a looping sequence of FBOs Draw a circle into wherever the mouse is
  64. 64. 02 AnimatorStep 2 Scale the circle radius based on mouse speed And draw a random color
  65. 65. 02 AnimatorStep 3 Including an addon We will use ofxUI to add some sliders to make our animator a little more fun. Adding addon files to a project Adding a RGB slider color ranges
  66. 66. 03 ParticlesStep 1 Load an Image Create still particles from the raw pixels of the image
  67. 67. 03 ParticlesStep 2 Add the repulse / attract modes to the system Add particle alpha trails
  68. 68. 03 ParticlesStep 3 Update particles colors from a movie Loading a movie
  69. 69. Joining the Community !Introduce yourself at :http://forum.openframeworks.cc/index.php/board,11.0.htmlThe OF community is very welcoming.
  70. 70. How to be a good community member ?Read your IDE’s in depth forum walkthrough it willsave you a lot of hassle.Search the forums for answers before making a post.Ask questions and post your code.DO NOT beg for code.
  71. 71. Additional ResourcesThere are now official OF tutorials !http://openframeworks.cc/tutorialsRoxlu has a wonderful collection of slides to explainsome of the awesome features of OF 007http://roxlu.com/blog/entry/145/openframeworks-007-presentationsThe new version of Programming Interactivity byJoshua Noble is the goto book for OFhttp://programminginteractivity.com/wordpress/
  72. 72. Additional ResourcesUnofficial c++ reading listhttp://forum.openframeworks.cc/index.php/topic,9034.msg42670.htmlProcessing ‘s official site still has one of the bestexplanations of core conceptshttp://processing.org/learning/The OF forums are a treasure trove of discovery andworks in progress. Subscribing to the RSS feed willkeep you very up to date.http://forum.openframeworks.cc/
  73. 73. Additional ResourcesJeffery Crouse has some really good tutorials and is aprofessorhttp://www.jeffcrouse.info/teaching/Creative Applications does an amazing job showcasingand collecting installations and other creative apps.http://www.creativeapplications.net/
  74. 74. Ben McChesneyLead Experience DeveloperHelios Interactive@bendesigning on twitterbenmcchesney.com/benmcchesney.com/bloggithub.com/benMcChesney
  75. 75. THANK YOU

×