├── .gitignore ├── example-graphics ├── Project.xcconfig ├── ofApp.xcodeproj │ └── project.pbxproj ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── example-live ├── Project.xcconfig ├── ofApp.xcodeproj │ └── project.pbxproj ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── readme.md └── src ├── CameraFilter.frag.h ├── ofxCameraFilter.cpp └── ofxCameraFilter.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.depend 2 | *.layout 3 | *.mode*v3 4 | *.pbxuser 5 | *.app* 6 | *.DS_* 7 | *.xcworkspacedata 8 | 9 | .svn/ 10 | obj/ 11 | bin/ 12 | build/ 13 | !data/ -------------------------------------------------------------------------------- /example-graphics/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /example-graphics/ofApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 42; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 272744FC14E4ED8800C2FA32 /* ofxBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */; }; 11 | 27C525DD14E4F8BE00E51869 /* ofxCameraFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */; }; 12 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 13 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworks.a */; }; 14 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 15 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 16 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 17 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; 18 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 19 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 20 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 21 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 22 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 23 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 24 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 25 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 26 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 27 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 28 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 29 | /* End PBXBuildFile section */ 30 | 31 | /* Begin PBXContainerItemProxy section */ 32 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 33 | isa = PBXContainerItemProxy; 34 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 35 | proxyType = 2; 36 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 37 | remoteInfo = openFrameworks; 38 | }; 39 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 40 | isa = PBXContainerItemProxy; 41 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 42 | proxyType = 1; 43 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 44 | remoteInfo = openFrameworks; 45 | }; 46 | /* End PBXContainerItemProxy section */ 47 | 48 | /* Begin PBXCopyFilesBuildPhase section */ 49 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 50 | isa = PBXCopyFilesBuildPhase; 51 | buildActionMask = 2147483647; 52 | dstPath = ""; 53 | dstSubfolderSpec = 10; 54 | files = ( 55 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 56 | ); 57 | runOnlyForDeploymentPostprocessing = 0; 58 | }; 59 | /* End PBXCopyFilesBuildPhase section */ 60 | 61 | /* Begin PBXFileReference section */ 62 | 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxBlur.cpp; path = ../../../addons/ofxBlur/src/ofxBlur.cpp; sourceTree = SOURCE_ROOT; }; 63 | 272744FB14E4ED8800C2FA32 /* ofxBlur.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxBlur.h; path = ../../../addons/ofxBlur/src/ofxBlur.h; sourceTree = SOURCE_ROOT; }; 64 | 27C525DA14E4F8BE00E51869 /* CameraFilter.frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CameraFilter.frag.h; path = ../src/CameraFilter.frag.h; sourceTree = SOURCE_ROOT; }; 65 | 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxCameraFilter.cpp; path = ../src/ofxCameraFilter.cpp; sourceTree = SOURCE_ROOT; }; 66 | 27C525DC14E4F8BE00E51869 /* ofxCameraFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxCameraFilter.h; path = ../src/ofxCameraFilter.h; sourceTree = SOURCE_ROOT; }; 67 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 68 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 69 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 70 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 71 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 72 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; 73 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 74 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 75 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 76 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 77 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 78 | E4B69B5B0A3A1756003C02F2 /* ofApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 79 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 80 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; path = ofApp.cpp; sourceTree = ""; }; 81 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ofApp.h; sourceTree = ""; }; 82 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 83 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 84 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 85 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 86 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 87 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 88 | /* End PBXFileReference section */ 89 | 90 | /* Begin PBXFrameworksBuildPhase section */ 91 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 92 | isa = PBXFrameworksBuildPhase; 93 | buildActionMask = 2147483647; 94 | files = ( 95 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 96 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */, 97 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 98 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 99 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 100 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, 101 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 102 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 103 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 104 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 105 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 106 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 107 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 108 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 109 | ); 110 | runOnlyForDeploymentPostprocessing = 0; 111 | }; 112 | /* End PBXFrameworksBuildPhase section */ 113 | 114 | /* Begin PBXGroup section */ 115 | 272744F214E4ED7700C2FA32 /* ofxBlur */ = { 116 | isa = PBXGroup; 117 | children = ( 118 | 272744F914E4ED8800C2FA32 /* src */, 119 | ); 120 | name = ofxBlur; 121 | sourceTree = ""; 122 | }; 123 | 272744F914E4ED8800C2FA32 /* src */ = { 124 | isa = PBXGroup; 125 | children = ( 126 | 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */, 127 | 272744FB14E4ED8800C2FA32 /* ofxBlur.h */, 128 | ); 129 | name = src; 130 | path = ../../../addons/ofxBlur/src; 131 | sourceTree = SOURCE_ROOT; 132 | }; 133 | 27C525D314E4F8B200E51869 /* ofxCameraFilter */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | 27C525D914E4F8BE00E51869 /* src */, 137 | ); 138 | name = ofxCameraFilter; 139 | sourceTree = ""; 140 | }; 141 | 27C525D914E4F8BE00E51869 /* src */ = { 142 | isa = PBXGroup; 143 | children = ( 144 | 27C525DA14E4F8BE00E51869 /* CameraFilter.frag.h */, 145 | 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */, 146 | 27C525DC14E4F8BE00E51869 /* ofxCameraFilter.h */, 147 | ); 148 | name = src; 149 | path = ../src; 150 | sourceTree = SOURCE_ROOT; 151 | }; 152 | BB4B014C10F69532006C3DED /* addons */ = { 153 | isa = PBXGroup; 154 | children = ( 155 | 27C525D314E4F8B200E51869 /* ofxCameraFilter */, 156 | 272744F214E4ED7700C2FA32 /* ofxBlur */, 157 | ); 158 | name = addons; 159 | sourceTree = ""; 160 | }; 161 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 162 | isa = PBXGroup; 163 | children = ( 164 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 165 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 166 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 167 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 168 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 169 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 170 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */, 171 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 172 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 173 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 174 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 175 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 176 | ); 177 | name = "system frameworks"; 178 | sourceTree = ""; 179 | }; 180 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 181 | isa = PBXGroup; 182 | children = ( 183 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 184 | ); 185 | name = "3rd party frameworks"; 186 | sourceTree = ""; 187 | }; 188 | E4328144138ABC890047C5CB /* Products */ = { 189 | isa = PBXGroup; 190 | children = ( 191 | E4328148138ABC890047C5CB /* openFrameworks.a */, 192 | ); 193 | name = Products; 194 | sourceTree = ""; 195 | }; 196 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 197 | isa = PBXGroup; 198 | children = ( 199 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 200 | BBAB23C913894ECA00AA2426 /* system frameworks */, 201 | ); 202 | name = frameworks; 203 | sourceTree = ""; 204 | }; 205 | E4B69B4A0A3A1720003C02F2 = { 206 | isa = PBXGroup; 207 | children = ( 208 | E4B69E1C0A3A1BDC003C02F2 /* src */, 209 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 210 | BB4B014C10F69532006C3DED /* addons */, 211 | E45BE5980E8CC70C009D7055 /* frameworks */, 212 | E4B69B5B0A3A1756003C02F2 /* ofApp.app */, 213 | ); 214 | sourceTree = ""; 215 | }; 216 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 217 | isa = PBXGroup; 218 | children = ( 219 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 220 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 221 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 222 | ); 223 | path = src; 224 | sourceTree = SOURCE_ROOT; 225 | }; 226 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 227 | isa = PBXGroup; 228 | children = ( 229 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 230 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 231 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 232 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 233 | ); 234 | name = openFrameworks; 235 | sourceTree = ""; 236 | }; 237 | /* End PBXGroup section */ 238 | 239 | /* Begin PBXNativeTarget section */ 240 | E4B69B5A0A3A1756003C02F2 /* ofApp */ = { 241 | isa = PBXNativeTarget; 242 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */; 243 | buildPhases = ( 244 | E4B69B580A3A1756003C02F2 /* Sources */, 245 | E4B69B590A3A1756003C02F2 /* Frameworks */, 246 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 247 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 248 | ); 249 | buildRules = ( 250 | ); 251 | dependencies = ( 252 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 253 | ); 254 | name = ofApp; 255 | productName = myOFApp; 256 | productReference = E4B69B5B0A3A1756003C02F2 /* ofApp.app */; 257 | productType = "com.apple.product-type.application"; 258 | }; 259 | /* End PBXNativeTarget section */ 260 | 261 | /* Begin PBXProject section */ 262 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 263 | isa = PBXProject; 264 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */; 265 | compatibilityVersion = "Xcode 2.4"; 266 | hasScannedForEncodings = 0; 267 | knownRegions = ( 268 | English, 269 | Japanese, 270 | French, 271 | German, 272 | ); 273 | mainGroup = E4B69B4A0A3A1720003C02F2; 274 | productRefGroup = E4B69B4A0A3A1720003C02F2; 275 | projectDirPath = ""; 276 | projectReferences = ( 277 | { 278 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 279 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 280 | }, 281 | ); 282 | projectRoot = ""; 283 | targets = ( 284 | E4B69B5A0A3A1756003C02F2 /* ofApp */, 285 | ); 286 | }; 287 | /* End PBXProject section */ 288 | 289 | /* Begin PBXReferenceProxy section */ 290 | E4328148138ABC890047C5CB /* openFrameworks.a */ = { 291 | isa = PBXReferenceProxy; 292 | fileType = archive.ar; 293 | path = openFrameworks.a; 294 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 295 | sourceTree = BUILT_PRODUCTS_DIR; 296 | }; 297 | /* End PBXReferenceProxy section */ 298 | 299 | /* Begin PBXShellScriptBuildPhase section */ 300 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 301 | isa = PBXShellScriptBuildPhase; 302 | buildActionMask = 2147483647; 303 | files = ( 304 | ); 305 | inputPaths = ( 306 | ); 307 | outputPaths = ( 308 | ); 309 | runOnlyForDeploymentPostprocessing = 0; 310 | shellPath = /bin/sh; 311 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; 312 | }; 313 | /* End PBXShellScriptBuildPhase section */ 314 | 315 | /* Begin PBXSourcesBuildPhase section */ 316 | E4B69B580A3A1756003C02F2 /* Sources */ = { 317 | isa = PBXSourcesBuildPhase; 318 | buildActionMask = 2147483647; 319 | files = ( 320 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 321 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 322 | 272744FC14E4ED8800C2FA32 /* ofxBlur.cpp in Sources */, 323 | 27C525DD14E4F8BE00E51869 /* ofxCameraFilter.cpp in Sources */, 324 | ); 325 | runOnlyForDeploymentPostprocessing = 0; 326 | }; 327 | /* End PBXSourcesBuildPhase section */ 328 | 329 | /* Begin PBXTargetDependency section */ 330 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 331 | isa = PBXTargetDependency; 332 | name = openFrameworks; 333 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 334 | }; 335 | /* End PBXTargetDependency section */ 336 | 337 | /* Begin XCBuildConfiguration section */ 338 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 339 | isa = XCBuildConfiguration; 340 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 341 | buildSettings = { 342 | ARCHS = "$(NATIVE_ARCH)"; 343 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 344 | COPY_PHASE_STRIP = NO; 345 | DEAD_CODE_STRIPPING = YES; 346 | GCC_AUTO_VECTORIZATION = YES; 347 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 348 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 349 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 350 | GCC_MODEL_TUNING = G5; 351 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 352 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; 353 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 354 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 355 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 356 | GCC_WARN_UNUSED_VALUE = NO; 357 | GCC_WARN_UNUSED_VARIABLE = NO; 358 | OTHER_CPLUSPLUSFLAGS = ( 359 | "-D__MACOSX_CORE__", 360 | "-lpthread", 361 | ); 362 | }; 363 | name = Debug; 364 | }; 365 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 366 | isa = XCBuildConfiguration; 367 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 368 | buildSettings = { 369 | ARCHS = "$(NATIVE_ARCH)"; 370 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 371 | COPY_PHASE_STRIP = YES; 372 | DEAD_CODE_STRIPPING = YES; 373 | GCC_AUTO_VECTORIZATION = YES; 374 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 375 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 376 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 377 | GCC_MODEL_TUNING = G5; 378 | GCC_OPTIMIZATION_LEVEL = 3; 379 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 380 | GCC_UNROLL_LOOPS = YES; 381 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; 382 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 383 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 384 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 385 | GCC_WARN_UNUSED_VALUE = NO; 386 | GCC_WARN_UNUSED_VARIABLE = NO; 387 | OTHER_CPLUSPLUSFLAGS = ( 388 | "-D__MACOSX_CORE__", 389 | "-lpthread", 390 | ); 391 | }; 392 | name = Release; 393 | }; 394 | E4B69B600A3A1757003C02F2 /* Debug */ = { 395 | isa = XCBuildConfiguration; 396 | buildSettings = { 397 | COPY_PHASE_STRIP = NO; 398 | FRAMEWORK_SEARCH_PATHS = ( 399 | "$(inherited)", 400 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 401 | ); 402 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 403 | GCC_DYNAMIC_NO_PIC = NO; 404 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 405 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 406 | GCC_MODEL_TUNING = G4; 407 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 408 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 409 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 410 | INSTALL_PATH = "$(HOME)/Applications"; 411 | LIBRARY_SEARCH_PATHS = ( 412 | "$(inherited)", 413 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 414 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 440 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 441 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 442 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 443 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 444 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 445 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 446 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 447 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 448 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 449 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 450 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 451 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 452 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 453 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 454 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 455 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 456 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 457 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 458 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 459 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 460 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 461 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 462 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 463 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 464 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 465 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 466 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 467 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 468 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 469 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 470 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 471 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 472 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 473 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 474 | ); 475 | PREBINDING = NO; 476 | PRODUCT_NAME = ofAppDebug; 477 | WRAPPER_EXTENSION = app; 478 | }; 479 | name = Debug; 480 | }; 481 | E4B69B610A3A1757003C02F2 /* Release */ = { 482 | isa = XCBuildConfiguration; 483 | buildSettings = { 484 | COPY_PHASE_STRIP = YES; 485 | FRAMEWORK_SEARCH_PATHS = ( 486 | "$(inherited)", 487 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 488 | ); 489 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 490 | GCC_ENABLE_FIX_AND_CONTINUE = NO; 491 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 492 | GCC_MODEL_TUNING = G4; 493 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 494 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 495 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 496 | INSTALL_PATH = "$(HOME)/Applications"; 497 | LIBRARY_SEARCH_PATHS = ( 498 | "$(inherited)", 499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 536 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 537 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 538 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 539 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 540 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 541 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 542 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 543 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 544 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 545 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 546 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 552 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 553 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 554 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 555 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 556 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 557 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 558 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 559 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 560 | ); 561 | PREBINDING = NO; 562 | PRODUCT_NAME = ofApp; 563 | WRAPPER_EXTENSION = app; 564 | }; 565 | name = Release; 566 | }; 567 | /* End XCBuildConfiguration section */ 568 | 569 | /* Begin XCConfigurationList section */ 570 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */ = { 571 | isa = XCConfigurationList; 572 | buildConfigurations = ( 573 | E4B69B4E0A3A1720003C02F2 /* Debug */, 574 | E4B69B4F0A3A1720003C02F2 /* Release */, 575 | ); 576 | defaultConfigurationIsVisible = 0; 577 | defaultConfigurationName = Release; 578 | }; 579 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */ = { 580 | isa = XCConfigurationList; 581 | buildConfigurations = ( 582 | E4B69B600A3A1757003C02F2 /* Debug */, 583 | E4B69B610A3A1757003C02F2 /* Release */, 584 | ); 585 | defaultConfigurationIsVisible = 0; 586 | defaultConfigurationName = Release; 587 | }; 588 | /* End XCConfigurationList section */ 589 | }; 590 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 591 | } 592 | -------------------------------------------------------------------------------- /example-graphics/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /example-graphics/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 640, 480, OF_WINDOW); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /example-graphics/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | void ofApp::setup() { 4 | ofSetLogLevel(OF_LOG_VERBOSE); 5 | ofSetVerticalSync(true); 6 | filter.setup(640, 480); 7 | } 8 | 9 | void ofApp::update() { 10 | filter.begin(); 11 | ofSetColor(255); 12 | ofTranslate(ofGetWidth() / 2, ofGetHeight() /2); 13 | ofRotate(ofGetElapsedTimef() * 20); 14 | int n = 13; 15 | for(int i = 0; i < n; i++) { 16 | float theta = ofMap(i, 0, n, 0, 360); 17 | ofPushMatrix(); 18 | ofRotate(theta); 19 | ofTranslate(50 + 150 * ofNoise(ofGetElapsedTimef() + i), 0); 20 | if(i% 6 < 3) { 21 | ofFill(); 22 | } else { 23 | ofNoFill(); 24 | } 25 | if(i % 2 == 0) { 26 | ofCircle(0, 0, 32); 27 | } else { 28 | ofRect(-16, -16, 32, 32); 29 | } 30 | ofPopMatrix(); 31 | } 32 | filter.end(); 33 | } 34 | 35 | void ofApp::draw() { 36 | ofBackground(0); 37 | filter.draw(); 38 | ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20); 39 | } -------------------------------------------------------------------------------- /example-graphics/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | 5 | #include "ofxCameraFilter.h" 6 | 7 | class ofApp : public ofBaseApp { 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | 13 | ofxCameraFilter filter; 14 | }; 15 | -------------------------------------------------------------------------------- /example-live/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /example-live/ofApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 42; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 272744FC14E4ED8800C2FA32 /* ofxBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */; }; 11 | 27C525DD14E4F8BE00E51869 /* ofxCameraFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */; }; 12 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 13 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworks.a */; }; 14 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 15 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 16 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 17 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; 18 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 19 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 20 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 21 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 22 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 23 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 24 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 25 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 26 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 27 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 28 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 29 | /* End PBXBuildFile section */ 30 | 31 | /* Begin PBXContainerItemProxy section */ 32 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 33 | isa = PBXContainerItemProxy; 34 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 35 | proxyType = 2; 36 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 37 | remoteInfo = openFrameworks; 38 | }; 39 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 40 | isa = PBXContainerItemProxy; 41 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 42 | proxyType = 1; 43 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 44 | remoteInfo = openFrameworks; 45 | }; 46 | /* End PBXContainerItemProxy section */ 47 | 48 | /* Begin PBXCopyFilesBuildPhase section */ 49 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 50 | isa = PBXCopyFilesBuildPhase; 51 | buildActionMask = 2147483647; 52 | dstPath = ""; 53 | dstSubfolderSpec = 10; 54 | files = ( 55 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 56 | ); 57 | runOnlyForDeploymentPostprocessing = 0; 58 | }; 59 | /* End PBXCopyFilesBuildPhase section */ 60 | 61 | /* Begin PBXFileReference section */ 62 | 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxBlur.cpp; path = ../../../addons/ofxBlur/src/ofxBlur.cpp; sourceTree = SOURCE_ROOT; }; 63 | 272744FB14E4ED8800C2FA32 /* ofxBlur.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxBlur.h; path = ../../../addons/ofxBlur/src/ofxBlur.h; sourceTree = SOURCE_ROOT; }; 64 | 27C525DA14E4F8BE00E51869 /* CameraFilter.frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CameraFilter.frag.h; path = ../src/CameraFilter.frag.h; sourceTree = SOURCE_ROOT; }; 65 | 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxCameraFilter.cpp; path = ../src/ofxCameraFilter.cpp; sourceTree = SOURCE_ROOT; }; 66 | 27C525DC14E4F8BE00E51869 /* ofxCameraFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxCameraFilter.h; path = ../src/ofxCameraFilter.h; sourceTree = SOURCE_ROOT; }; 67 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 68 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 69 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 70 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 71 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 72 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; 73 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 74 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 75 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 76 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 77 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 78 | E4B69B5B0A3A1756003C02F2 /* ofApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 79 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 80 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; path = ofApp.cpp; sourceTree = ""; }; 81 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ofApp.h; sourceTree = ""; }; 82 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 83 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 84 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 85 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 86 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 87 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 88 | /* End PBXFileReference section */ 89 | 90 | /* Begin PBXFrameworksBuildPhase section */ 91 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 92 | isa = PBXFrameworksBuildPhase; 93 | buildActionMask = 2147483647; 94 | files = ( 95 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 96 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */, 97 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 98 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 99 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 100 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, 101 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 102 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 103 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 104 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 105 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 106 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 107 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 108 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 109 | ); 110 | runOnlyForDeploymentPostprocessing = 0; 111 | }; 112 | /* End PBXFrameworksBuildPhase section */ 113 | 114 | /* Begin PBXGroup section */ 115 | 272744F214E4ED7700C2FA32 /* ofxBlur */ = { 116 | isa = PBXGroup; 117 | children = ( 118 | 272744F914E4ED8800C2FA32 /* src */, 119 | ); 120 | name = ofxBlur; 121 | sourceTree = ""; 122 | }; 123 | 272744F914E4ED8800C2FA32 /* src */ = { 124 | isa = PBXGroup; 125 | children = ( 126 | 272744FA14E4ED8800C2FA32 /* ofxBlur.cpp */, 127 | 272744FB14E4ED8800C2FA32 /* ofxBlur.h */, 128 | ); 129 | name = src; 130 | path = ../../../addons/ofxBlur/src; 131 | sourceTree = SOURCE_ROOT; 132 | }; 133 | 27C525D314E4F8B200E51869 /* ofxCameraFilter */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | 27C525D914E4F8BE00E51869 /* src */, 137 | ); 138 | name = ofxCameraFilter; 139 | sourceTree = ""; 140 | }; 141 | 27C525D914E4F8BE00E51869 /* src */ = { 142 | isa = PBXGroup; 143 | children = ( 144 | 27C525DA14E4F8BE00E51869 /* CameraFilter.frag.h */, 145 | 27C525DB14E4F8BE00E51869 /* ofxCameraFilter.cpp */, 146 | 27C525DC14E4F8BE00E51869 /* ofxCameraFilter.h */, 147 | ); 148 | name = src; 149 | path = ../src; 150 | sourceTree = SOURCE_ROOT; 151 | }; 152 | BB4B014C10F69532006C3DED /* addons */ = { 153 | isa = PBXGroup; 154 | children = ( 155 | 27C525D314E4F8B200E51869 /* ofxCameraFilter */, 156 | 272744F214E4ED7700C2FA32 /* ofxBlur */, 157 | ); 158 | name = addons; 159 | sourceTree = ""; 160 | }; 161 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 162 | isa = PBXGroup; 163 | children = ( 164 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 165 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 166 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 167 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 168 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 169 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 170 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */, 171 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 172 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 173 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 174 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 175 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 176 | ); 177 | name = "system frameworks"; 178 | sourceTree = ""; 179 | }; 180 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 181 | isa = PBXGroup; 182 | children = ( 183 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 184 | ); 185 | name = "3rd party frameworks"; 186 | sourceTree = ""; 187 | }; 188 | E4328144138ABC890047C5CB /* Products */ = { 189 | isa = PBXGroup; 190 | children = ( 191 | E4328148138ABC890047C5CB /* openFrameworks.a */, 192 | ); 193 | name = Products; 194 | sourceTree = ""; 195 | }; 196 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 197 | isa = PBXGroup; 198 | children = ( 199 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 200 | BBAB23C913894ECA00AA2426 /* system frameworks */, 201 | ); 202 | name = frameworks; 203 | sourceTree = ""; 204 | }; 205 | E4B69B4A0A3A1720003C02F2 = { 206 | isa = PBXGroup; 207 | children = ( 208 | E4B69E1C0A3A1BDC003C02F2 /* src */, 209 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 210 | BB4B014C10F69532006C3DED /* addons */, 211 | E45BE5980E8CC70C009D7055 /* frameworks */, 212 | E4B69B5B0A3A1756003C02F2 /* ofApp.app */, 213 | ); 214 | sourceTree = ""; 215 | }; 216 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 217 | isa = PBXGroup; 218 | children = ( 219 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 220 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 221 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 222 | ); 223 | path = src; 224 | sourceTree = SOURCE_ROOT; 225 | }; 226 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 227 | isa = PBXGroup; 228 | children = ( 229 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 230 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 231 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 232 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 233 | ); 234 | name = openFrameworks; 235 | sourceTree = ""; 236 | }; 237 | /* End PBXGroup section */ 238 | 239 | /* Begin PBXNativeTarget section */ 240 | E4B69B5A0A3A1756003C02F2 /* ofApp */ = { 241 | isa = PBXNativeTarget; 242 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */; 243 | buildPhases = ( 244 | E4B69B580A3A1756003C02F2 /* Sources */, 245 | E4B69B590A3A1756003C02F2 /* Frameworks */, 246 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 247 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 248 | ); 249 | buildRules = ( 250 | ); 251 | dependencies = ( 252 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 253 | ); 254 | name = ofApp; 255 | productName = myOFApp; 256 | productReference = E4B69B5B0A3A1756003C02F2 /* ofApp.app */; 257 | productType = "com.apple.product-type.application"; 258 | }; 259 | /* End PBXNativeTarget section */ 260 | 261 | /* Begin PBXProject section */ 262 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 263 | isa = PBXProject; 264 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */; 265 | compatibilityVersion = "Xcode 2.4"; 266 | hasScannedForEncodings = 0; 267 | knownRegions = ( 268 | English, 269 | Japanese, 270 | French, 271 | German, 272 | ); 273 | mainGroup = E4B69B4A0A3A1720003C02F2; 274 | productRefGroup = E4B69B4A0A3A1720003C02F2; 275 | projectDirPath = ""; 276 | projectReferences = ( 277 | { 278 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 279 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 280 | }, 281 | ); 282 | projectRoot = ""; 283 | targets = ( 284 | E4B69B5A0A3A1756003C02F2 /* ofApp */, 285 | ); 286 | }; 287 | /* End PBXProject section */ 288 | 289 | /* Begin PBXReferenceProxy section */ 290 | E4328148138ABC890047C5CB /* openFrameworks.a */ = { 291 | isa = PBXReferenceProxy; 292 | fileType = archive.ar; 293 | path = openFrameworks.a; 294 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 295 | sourceTree = BUILT_PRODUCTS_DIR; 296 | }; 297 | /* End PBXReferenceProxy section */ 298 | 299 | /* Begin PBXShellScriptBuildPhase section */ 300 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 301 | isa = PBXShellScriptBuildPhase; 302 | buildActionMask = 2147483647; 303 | files = ( 304 | ); 305 | inputPaths = ( 306 | ); 307 | outputPaths = ( 308 | ); 309 | runOnlyForDeploymentPostprocessing = 0; 310 | shellPath = /bin/sh; 311 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; 312 | }; 313 | /* End PBXShellScriptBuildPhase section */ 314 | 315 | /* Begin PBXSourcesBuildPhase section */ 316 | E4B69B580A3A1756003C02F2 /* Sources */ = { 317 | isa = PBXSourcesBuildPhase; 318 | buildActionMask = 2147483647; 319 | files = ( 320 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 321 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 322 | 272744FC14E4ED8800C2FA32 /* ofxBlur.cpp in Sources */, 323 | 27C525DD14E4F8BE00E51869 /* ofxCameraFilter.cpp in Sources */, 324 | ); 325 | runOnlyForDeploymentPostprocessing = 0; 326 | }; 327 | /* End PBXSourcesBuildPhase section */ 328 | 329 | /* Begin PBXTargetDependency section */ 330 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 331 | isa = PBXTargetDependency; 332 | name = openFrameworks; 333 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 334 | }; 335 | /* End PBXTargetDependency section */ 336 | 337 | /* Begin XCBuildConfiguration section */ 338 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 339 | isa = XCBuildConfiguration; 340 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 341 | buildSettings = { 342 | ARCHS = "$(NATIVE_ARCH)"; 343 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 344 | COPY_PHASE_STRIP = NO; 345 | DEAD_CODE_STRIPPING = YES; 346 | GCC_AUTO_VECTORIZATION = YES; 347 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 348 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 349 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 350 | GCC_MODEL_TUNING = G5; 351 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 352 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; 353 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 354 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 355 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 356 | GCC_WARN_UNUSED_VALUE = NO; 357 | GCC_WARN_UNUSED_VARIABLE = NO; 358 | OTHER_CPLUSPLUSFLAGS = ( 359 | "-D__MACOSX_CORE__", 360 | "-lpthread", 361 | ); 362 | }; 363 | name = Debug; 364 | }; 365 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 366 | isa = XCBuildConfiguration; 367 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 368 | buildSettings = { 369 | ARCHS = "$(NATIVE_ARCH)"; 370 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 371 | COPY_PHASE_STRIP = YES; 372 | DEAD_CODE_STRIPPING = YES; 373 | GCC_AUTO_VECTORIZATION = YES; 374 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 375 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 376 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 377 | GCC_MODEL_TUNING = G5; 378 | GCC_OPTIMIZATION_LEVEL = 3; 379 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 380 | GCC_UNROLL_LOOPS = YES; 381 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; 382 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 383 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 384 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 385 | GCC_WARN_UNUSED_VALUE = NO; 386 | GCC_WARN_UNUSED_VARIABLE = NO; 387 | OTHER_CPLUSPLUSFLAGS = ( 388 | "-D__MACOSX_CORE__", 389 | "-lpthread", 390 | ); 391 | }; 392 | name = Release; 393 | }; 394 | E4B69B600A3A1757003C02F2 /* Debug */ = { 395 | isa = XCBuildConfiguration; 396 | buildSettings = { 397 | COPY_PHASE_STRIP = NO; 398 | FRAMEWORK_SEARCH_PATHS = ( 399 | "$(inherited)", 400 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 401 | ); 402 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 403 | GCC_DYNAMIC_NO_PIC = NO; 404 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 405 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 406 | GCC_MODEL_TUNING = G4; 407 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 408 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 409 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 410 | INSTALL_PATH = "$(HOME)/Applications"; 411 | LIBRARY_SEARCH_PATHS = ( 412 | "$(inherited)", 413 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 414 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 440 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 441 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 442 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 443 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 444 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 445 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 446 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 447 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 448 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 449 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 450 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 451 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 452 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 453 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 454 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 455 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 456 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 457 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 458 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 459 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 460 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 461 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 462 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 463 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 464 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 465 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 466 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 467 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 468 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 469 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 470 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 471 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 472 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 473 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 474 | ); 475 | PREBINDING = NO; 476 | PRODUCT_NAME = ofAppDebug; 477 | WRAPPER_EXTENSION = app; 478 | }; 479 | name = Debug; 480 | }; 481 | E4B69B610A3A1757003C02F2 /* Release */ = { 482 | isa = XCBuildConfiguration; 483 | buildSettings = { 484 | COPY_PHASE_STRIP = YES; 485 | FRAMEWORK_SEARCH_PATHS = ( 486 | "$(inherited)", 487 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 488 | ); 489 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 490 | GCC_ENABLE_FIX_AND_CONTINUE = NO; 491 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 492 | GCC_MODEL_TUNING = G4; 493 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 494 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 495 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 496 | INSTALL_PATH = "$(HOME)/Applications"; 497 | LIBRARY_SEARCH_PATHS = ( 498 | "$(inherited)", 499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 536 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 537 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 538 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 539 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 540 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 541 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 542 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 543 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 544 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 545 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 546 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 552 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 553 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 554 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 555 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 556 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 557 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 558 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 559 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 560 | ); 561 | PREBINDING = NO; 562 | PRODUCT_NAME = ofApp; 563 | WRAPPER_EXTENSION = app; 564 | }; 565 | name = Release; 566 | }; 567 | /* End XCBuildConfiguration section */ 568 | 569 | /* Begin XCConfigurationList section */ 570 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */ = { 571 | isa = XCConfigurationList; 572 | buildConfigurations = ( 573 | E4B69B4E0A3A1720003C02F2 /* Debug */, 574 | E4B69B4F0A3A1720003C02F2 /* Release */, 575 | ); 576 | defaultConfigurationIsVisible = 0; 577 | defaultConfigurationName = Release; 578 | }; 579 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */ = { 580 | isa = XCConfigurationList; 581 | buildConfigurations = ( 582 | E4B69B600A3A1757003C02F2 /* Debug */, 583 | E4B69B610A3A1757003C02F2 /* Release */, 584 | ); 585 | defaultConfigurationIsVisible = 0; 586 | defaultConfigurationName = Release; 587 | }; 588 | /* End XCConfigurationList section */ 589 | }; 590 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 591 | } 592 | -------------------------------------------------------------------------------- /example-live/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /example-live/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 640, 480, OF_WINDOW); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /example-live/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | void ofApp::setup() { 4 | ofSetLogLevel(OF_LOG_VERBOSE); 5 | ofSetVerticalSync(true); 6 | cam.initGrabber(640, 480); 7 | 8 | filter.setup(640, 480); 9 | 10 | ofSetCircleResolution(64); 11 | grid.setMode(OF_PRIMITIVE_LINES); 12 | for(int y = 0; y < ofGetHeight(); y += 16) { 13 | for(int x = 0; x < ofGetWidth(); x += 16) { 14 | grid.addVertex(ofVec2f(x, 0)); 15 | grid.addVertex(ofVec2f(x, ofGetHeight())); 16 | grid.addVertex(ofVec2f(0, y)); 17 | grid.addVertex(ofVec2f(ofGetWidth(), y)); 18 | } 19 | } 20 | } 21 | 22 | void ofApp::update() { 23 | cam.update(); 24 | if(cam.isFrameNew()) { 25 | filter.begin(); 26 | cam.draw(0, 0); 27 | grid.draw(); 28 | filter.end(); 29 | } 30 | } 31 | 32 | void ofApp::draw() { 33 | ofBackground(0); 34 | filter.draw(); 35 | ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20); 36 | } 37 | -------------------------------------------------------------------------------- /example-live/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | 5 | #include "ofxCameraFilter.h" 6 | 7 | class ofApp : public ofBaseApp { 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | 13 | ofxCameraFilter filter; 14 | ofVideoGrabber cam; 15 | ofMesh grid; 16 | }; 17 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # ofxCameraFilter is an addon for [openFrameworks](http://openframeworks.cc/) 2 | 3 | It is a one-shot filter/effect that works in tandem with [ofxBlur](https://github.com/kylemcdonald/ofxBlur) to create camera-like artifacts, including: vignetting, lens distortion, chromatic aberration, blur/bloom, and noise grain. 4 | 5 | ofxCameraFilter was originally written for [Eyeshine](https://github.com/kylemcdonald/Eyeshine), a collaboration between Golan Levin and Kyle McDonald. -------------------------------------------------------------------------------- /src/CameraFilter.frag.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define stringify(text) # text 4 | 5 | string cameraFilterSource = stringify( 6 | uniform float distortion; 7 | uniform float distortionSize; 8 | uniform float aberrationAmount; 9 | uniform float vignetteSharpness; 10 | uniform float vignetteSize; 11 | uniform float noiseAmount; 12 | uniform vec2 imageSize; 13 | uniform float imageRadius; 14 | 15 | // configurable 16 | const int aberrationSteps = 32; 17 | 18 | // setup per-frame 19 | uniform float time; 20 | uniform sampler2DRect preblur; 21 | uniform sampler2DRect postblur; 22 | 23 | // pre-computed 24 | const float HALF_PI = 3.1415926 / 2.; 25 | const float aberrationWeight = 2. / float(aberrationSteps); 26 | 27 | float GetHueComponent(float hue) { 28 | if (hue < 0.) { 29 | hue += 1.; 30 | } else if (hue > 1.) { 31 | hue -= 1.; 32 | } 33 | if ((6. * hue) < 1.) { 34 | return 6. * hue; 35 | } else if ((2. * hue) < 1.) { 36 | return 1.; 37 | } else if ((3. * hue) < 2.) { 38 | return ((2. / 3.) - hue) * 6.; 39 | } else { 40 | return 0.; 41 | } 42 | } 43 | 44 | vec3 HueToRGB(float hue) { 45 | return vec3( 46 | GetHueComponent(hue - (1./3.)), 47 | GetHueComponent(hue), 48 | GetHueComponent(hue + (1./3.)) 49 | ); 50 | } 51 | 52 | float rand(vec2 coord){ 53 | return fract(sin(dot(coord, vec2(12.9898,78.233))) * 43758.5453); 54 | } 55 | 56 | void main(void) { 57 | vec2 tc = gl_TexCoord[0].st; 58 | 59 | vec2 imageCenter = imageSize / 2.; 60 | vec2 P = (tc / imageCenter) - 1.; // to normalized image coordinates 61 | P /= distortionSize; 62 | vec2 Pp = P / (1. - distortion * dot(P, P)); 63 | P *= distortionSize; 64 | tc = (Pp + 1.) * imageCenter; // back to pixel coordinates 65 | 66 | vec2 fromCenter = tc - imageCenter; 67 | float radius = sqrt(dot(fromCenter, fromCenter)); 68 | float normalizedRadius = radius / imageRadius; 69 | 70 | vec3 aberration = vec3(0., 0., 0.); 71 | float aberrationScale = aberrationAmount / float(aberrationSteps); 72 | for(int i = 0; i < aberrationSteps; i++) { 73 | vec2 curCoord = imageCenter + fromCenter * (1. - aberrationScale * float(i)); 74 | vec3 curColor = texture2DRect(postblur, curCoord).rgb; 75 | float curHue = float(i) / float(aberrationSteps); 76 | aberration += curColor * HueToRGB(1. - curHue); // 1. - switches the red/blue 77 | } 78 | aberration *= aberrationWeight; 79 | 80 | float vignette = sin(clamp((normalizedRadius - vignetteSize) * vignetteSharpness, -HALF_PI, HALF_PI)); 81 | vignette = .5 - (vignette * .5); // scale from -1 to 1 onto 1 to 0 82 | 83 | float noise = rand((tc / imageSize) * time) * noiseAmount; 84 | 85 | vec3 original = texture2DRect(preblur, tc).rgb; 86 | 87 | vec3 finalColor = ((original + aberration) * vignette) + noise; 88 | gl_FragColor = vec4(finalColor, 1.); 89 | } 90 | ); -------------------------------------------------------------------------------- /src/ofxCameraFilter.cpp: -------------------------------------------------------------------------------- 1 | #include "ofxCameraFilter.h" 2 | 3 | #include "CameraFilter.frag.h" 4 | 5 | ofxCameraFilter::ofxCameraFilter() 6 | :distortion(.08) 7 | ,distortionSize(1.12) 8 | ,aberrationAmount(.08) 9 | ,vignetteSharpness(8.) 10 | ,vignetteSize(.8) 11 | ,noiseAmount(.1) { 12 | } 13 | 14 | void ofxCameraFilter::setup(int width, int height) { 15 | ofSetLogLevel(OF_LOG_VERBOSE); 16 | preblur.allocate(width, height); 17 | postblur.allocate(width, height); 18 | blur.setup(width, height, 16, .1, 1, .8); 19 | shader.setupShaderFromSource(GL_FRAGMENT_SHADER, cameraFilterSource); 20 | shader.linkProgram(); 21 | } 22 | 23 | void ofxCameraFilter::begin() { 24 | preblur.begin(); 25 | ofClear(0, 255); 26 | } 27 | 28 | void ofxCameraFilter::end() { 29 | preblur.end(); 30 | 31 | blur.begin(); 32 | ofClear(0, 255); 33 | ofSetColor(255); 34 | preblur.draw(0, 0); 35 | blur.end(); 36 | 37 | postblur.begin(); 38 | ofClear(0, 255); 39 | ofSetColor(255); 40 | blur.draw(); 41 | postblur.end(); 42 | } 43 | 44 | void ofxCameraFilter::draw() { 45 | ofPushStyle(); 46 | shader.begin(); 47 | shader.setUniformTexture("preblur", preblur.getTextureReference(), 1); 48 | shader.setUniformTexture("postblur", postblur.getTextureReference(), 2); 49 | shader.setUniform1f("time", ofGetElapsedTimef()); 50 | shader.setUniform2f("imageSize", preblur.getWidth(), preblur.getHeight()); 51 | shader.setUniform1f("imageRadius", ofDist(0, 0, preblur.getWidth(), preblur.getHeight()) / 2.); 52 | shader.setUniform1f("distortion", distortion); 53 | shader.setUniform1f("distortionSize", distortionSize); 54 | shader.setUniform1f("aberrationAmount", aberrationAmount); 55 | shader.setUniform1f("vignetteSharpness", vignetteSharpness); 56 | shader.setUniform1f("vignetteSize", vignetteSize); 57 | shader.setUniform1f("noiseAmount", noiseAmount); 58 | ofSetColor(255); 59 | preblur.draw(0, 0); 60 | shader.end(); 61 | } 62 | 63 | void ofxCameraFilter::setBlurScale(float scale) { 64 | blur.setScale(scale); 65 | } 66 | 67 | void ofxCameraFilter::setBlurRotation(float rotation) { 68 | blur.setRotation(rotation); 69 | } 70 | 71 | void ofxCameraFilter::setBlurBrightness(float brightness) { 72 | blur.setBrightness(brightness); 73 | } 74 | 75 | void ofxCameraFilter::setDistortion(float distortion) { 76 | this->distortion = distortion; 77 | } 78 | 79 | void ofxCameraFilter::setDistortionSize(float distortionSize) { 80 | this->distortionSize = distortionSize; 81 | } 82 | 83 | void ofxCameraFilter::setAberrationAmount(float aberrationAmount) { 84 | this->aberrationAmount = aberrationAmount; 85 | } 86 | 87 | void ofxCameraFilter::setNoiseAmount(float noiseAmount) { 88 | this->noiseAmount = noiseAmount; 89 | } 90 | 91 | void ofxCameraFilter::setVignetteSharpness(float vignetteSharpness) { 92 | this->vignetteSharpness = vignetteSharpness; 93 | } 94 | 95 | void ofxCameraFilter::setVignetteSize(float vignetteSize) { 96 | this->vignetteSize = vignetteSize; 97 | } 98 | -------------------------------------------------------------------------------- /src/ofxCameraFilter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxBlur.h" 5 | 6 | class ofxCameraFilter { 7 | protected: 8 | ofFbo preblur, postblur; 9 | ofxBlur blur; 10 | ofShader shader; 11 | 12 | float distortion, distortionSize; 13 | float aberrationAmount; 14 | float noiseAmount; 15 | float vignetteSharpness, vignetteSize; 16 | public: 17 | ofxCameraFilter(); 18 | void setup(int width, int height); 19 | void begin(); 20 | void end(); 21 | void draw(); 22 | 23 | void setBlurScale(float scale); 24 | void setBlurRotation(float rotation); 25 | void setBlurBrightness(float brightness); 26 | void setDistortion(float distortion); 27 | void setDistortionSize(float distortionSize); 28 | void setAberrationAmount(float aberrationAmount); 29 | void setNoiseAmount(float noiseAmount); 30 | void setVignetteSharpness(float vignetteSharpness); 31 | void setVignetteSize(float vignetteSize); 32 | }; --------------------------------------------------------------------------------