diff --git a/.gitignore b/.gitignore
index e43b0f9..e8d9ce7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.DS_Store
+example-*
diff --git a/example-fboTexture/.gitignore b/example-fboTexture/.gitignore
deleted file mode 100644
index 1af20d0..0000000
--- a/example-fboTexture/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-obj
-*.xcodeproj
-*.plist
-*.xcconfig
-*~
-config.make
diff --git a/example-fboTexture/Makefile b/example-fboTexture/Makefile
deleted file mode 100644
index 7a7fe8b..0000000
--- a/example-fboTexture/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Attempt to load a config.make file.
-# If none is found, project defaults in config.project.make will be used.
-ifneq ($(wildcard config.make),)
- include config.make
-endif
-
-# make sure the the OF_ROOT location is defined
-ifndef OF_ROOT
- OF_ROOT=../../..
-endif
-
-# call the project makefile!
-include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
diff --git a/example-fboTexture/addons.make b/example-fboTexture/addons.make
deleted file mode 100644
index 802cd29..0000000
--- a/example-fboTexture/addons.make
+++ /dev/null
@@ -1,3 +0,0 @@
-ofxPiMapper
-ofxUI
-ofxXmlSettings
diff --git a/example-fboTexture/bin/.gitignore b/example-fboTexture/bin/.gitignore
deleted file mode 100644
index 44fbbc9..0000000
--- a/example-fboTexture/bin/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.app
-data/*.jpg
-data/settings.xml
-data/surfaces.xml
diff --git a/example-fboTexture/bin/data/defaultSurfaces.xml b/example-fboTexture/bin/data/defaultSurfaces.xml
deleted file mode 100755
index 4bcc56a..0000000
--- a/example-fboTexture/bin/data/defaultSurfaces.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
- 250.000000000
- 34.000000000
-
-
- 374.000000000
- 201.000000000
-
-
- 535.000000000
- 35.000000000
-
-
-
-
- 0.101999998
- 0.335999995
-
-
- 0.328000009
- 0.689999998
-
-
- 0.705999970
- 0.393999994
-
-
-
- image
- image1.jpg
-
-
-
-
-
- 24.396121979
- 259.170288086
-
-
- 250.000000000
- 34.000000000
-
-
- 214.630920410
- 282.926849365
-
-
-
-
- 0.251666665
- 0.090000004
-
-
- 0.449999988
- 0.696666658
-
-
- 0.870000005
- 0.173333332
-
-
-
- image
- image5.jpg
-
-
-
-
-
- 75.709846497
- 450.636596680
-
-
- 214.630920410
- 282.926849365
-
-
- 24.396121979
- 259.170288086
-
-
-
-
- 0.981523871
- 0.471785098
-
-
- 0.245601788
- 0.110941604
-
-
- 0.662217021
- 0.714698017
-
-
-
- image
- image4.jpg
-
-
-
-
-
- 527.148498535
- 277.815002441
-
-
- 320.170959473
- 461.102355957
-
-
- 285.250427246
- 209.424682617
-
-
-
-
- 0.031067841
- 0.511202157
-
-
- 0.450178742
- 0.116164304
-
-
- 0.543386877
- 0.609848201
-
-
-
- image
- none
-
-
-
diff --git a/example-fboTexture/bin/data/sources/images/image1.jpg b/example-fboTexture/bin/data/sources/images/image1.jpg
deleted file mode 100644
index 88cf12e..0000000
Binary files a/example-fboTexture/bin/data/sources/images/image1.jpg and /dev/null differ
diff --git a/example-fboTexture/bin/data/sources/images/image2.jpg b/example-fboTexture/bin/data/sources/images/image2.jpg
deleted file mode 100644
index 4111693..0000000
Binary files a/example-fboTexture/bin/data/sources/images/image2.jpg and /dev/null differ
diff --git a/example-fboTexture/bin/data/sources/images/image3.jpg b/example-fboTexture/bin/data/sources/images/image3.jpg
deleted file mode 100644
index fffdd35..0000000
Binary files a/example-fboTexture/bin/data/sources/images/image3.jpg and /dev/null differ
diff --git a/example-fboTexture/bin/data/sources/images/image4.jpg b/example-fboTexture/bin/data/sources/images/image4.jpg
deleted file mode 100644
index 3291a57..0000000
Binary files a/example-fboTexture/bin/data/sources/images/image4.jpg and /dev/null differ
diff --git a/example-fboTexture/bin/data/sources/images/image5.jpg b/example-fboTexture/bin/data/sources/images/image5.jpg
deleted file mode 100644
index d9f2908..0000000
Binary files a/example-fboTexture/bin/data/sources/images/image5.jpg and /dev/null differ
diff --git a/example-fboTexture/src/main.cpp b/example-fboTexture/src/main.cpp
deleted file mode 100644
index 0e0278d..0000000
--- a/example-fboTexture/src/main.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "ofMain.h"
-#include "ofApp.h"
-
-int main()
-{
-#ifdef TARGET_RASPBERRY_PI
- ofSetupOpenGL(600, 500, OF_FULLSCREEN);
-#else
- ofSetupOpenGL(600, 500, OF_WINDOW);
-#endif
- ofRunApp(new ofApp());
-}
\ No newline at end of file
diff --git a/example-fboTexture/src/ofApp.cpp b/example-fboTexture/src/ofApp.cpp
deleted file mode 100755
index 7012632..0000000
--- a/example-fboTexture/src/ofApp.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#include "ofApp.h"
-
-void ofApp::setup()
-{
- bShowInfo = false;
-
- // check if the surfaces.xml file is there
- // if not - load defaultSurfaces.xml
- if ( ofFile::doesFileExist("surfaces.xml") ) {
- surfaceManager.loadXmlSettings("surfaces.xml");
- } else {
- surfaceManager.loadXmlSettings("defaultSurfaces.xml");
- }
-
- // Pass the surface manager to the mapper graphical user interface
- gui.setSurfaceManager( &surfaceManager );
-
- // Create FBO
- fbo = new ofFbo();
- fbo->allocate( 500, 500 );
- setFboAsTexture();
-
- // Genereate rects
- int numRects = 20; // change this to add more or less rects
- for ( int i=0; igetHeight()), fbo->getWidth(), ofRandom(20)) );
- rectSpeeds.push_back( (1.0f + ofRandom(5)) );
- }
-}
-
-void ofApp::update()
-{
- // Move rects
- for ( int i=0; i fbo->getHeight() ) {
- rects[i].y = -rects[i].getHeight();
- }
- }
-
- // Fill FBO
- fbo->begin();
- ofClear(0);
- ofBackground(0);
- ofSetColor(255);
- for ( int i=0; iend();
-}
-
-void ofApp::draw()
-{
- // Draw the piMapper GUI
- gui.draw();
-
- if ( bShowInfo ) {
- // Draw instructions
- stringstream ss;
- ss << "There are 4 modes:\n\n";
- ss << " 1. Presentation mode\n";
- ss << " 2. Texture mapping mode\n";
- ss << " 3. Projection mapping mode\n";
- ss << " 4. Source selection mode\n\n";
- ss << "You can switch between the modes by using <1>, <2>, <3> and <4> keys on the keyboard.\n\n";
- ss << "Press or to add random or normal surface.\n";
- ss << "Press to add a new quad surface.\n";
- ss << "Press to save the composition.\n";
- ss << "Press to toggle fullscreen.\n";
- ss << "Press to reassign the fbo texture to the first surface\n";
- ss << "Hit to hide this message.";
-
- ofDrawBitmapStringHighlight(ss.str(), 10, 20, ofColor(0,0,0,100), ofColor(255,255,255,200));
- }
-}
-
-void ofApp::exit()
-{
- // Clear FBO from mem
- delete fbo;
-}
-
-void ofApp::keyPressed(int key)
-{
- cout << "Key pressed: " << static_cast(key) << endl;
-
- switch (key) {
- case '1': gui.setMode(ofxGuiMode::NONE); break;
- case '2': gui.setMode(ofxGuiMode::TEXTURE_MAPPING); break;
- case '3': gui.setMode(ofxGuiMode::PROJECTION_MAPPING); break;
- case '4': gui.setMode(ofxGuiMode::SOURCE_SELECTION); break;
- case 'i': bShowInfo = !bShowInfo; break;
- case 'r': addRandomSurface(); break;
- case 'q': addQuadSurface(); break;
- case 'n': addSurface(); break;
- case 'f': ofToggleFullscreen(); break;
- case 's': surfaceManager.saveXmlSettings("surfaces.xml"); break;
- case 'a': setFboAsTexture(); break;
- case OF_KEY_BACKSPACE: surfaceManager.removeSelectedSurface(); break;
- default: break;
- }
-}
-
-void ofApp::addRandomSurface()
-{
- int surfaceType = ofxSurfaceType::TRIANGLE_SURFACE;
- vector vertices;
- vertices.push_back( ofVec2f( ofRandomWidth(), ofRandomHeight() ) );
- vertices.push_back( ofVec2f( ofRandomWidth(), ofRandomHeight() ) );
- vertices.push_back( ofVec2f( ofRandomWidth(), ofRandomHeight() ) );
- vector texCoords;
- texCoords.push_back( ofVec2f( ofRandomuf(), ofRandomuf() ) );
- texCoords.push_back( ofVec2f( ofRandomuf(), ofRandomuf() ) );
- texCoords.push_back( ofVec2f( ofRandomuf(), ofRandomuf() ) );
- surfaceManager.addSurface(surfaceType, vertices, texCoords);
-
- // select this surface right away
- surfaceManager.selectSurface(surfaceManager.size()-1);
-}
-
-void ofApp::addQuadSurface()
-{
- int surfaceType = ofxSurfaceType::QUAD_SURFACE;
- vector vertices;
-
- int border = 50;
- vertices.push_back( ofVec2f(border, border) );
- vertices.push_back( ofVec2f(border, ofGetHeight() - border) );
- vertices.push_back( ofVec2f(ofGetWidth() - border, ofGetHeight() - border) );
- vertices.push_back( ofVec2f(ofGetWidth() - border, border) );
-
- vector texCoords;
- texCoords.push_back( ofVec2f(ofVec2f(0.0f, 0.0f)) );
- texCoords.push_back( ofVec2f(ofVec2f(1.0f, 0.0f)) );
- texCoords.push_back( ofVec2f(ofVec2f(1.0f, 1.0f)) );
- texCoords.push_back( ofVec2f(ofVec2f(0.0f, 1.0f)) );
-
- surfaceManager.addSurface(surfaceType, vertices, texCoords);
-
- // select this surface right away
- surfaceManager.selectSurface(surfaceManager.size()-1);
-}
-
-void ofApp::addSurface()
-{
- int surfaceType = ofxSurfaceType::TRIANGLE_SURFACE;
- vector vertices;
- vertices.push_back( ofVec2f( (float)ofGetWidth()/2.0f, 0.0f ) );
- vertices.push_back( ofVec2f( (float)ofGetWidth(), (float)ofGetHeight() ) );
- vertices.push_back( ofVec2f( 0.0f, (float)ofGetHeight() ) );
- vector texCoords;
- texCoords.push_back( ofVec2f( 0.5f, 0.0f ) );
- texCoords.push_back( ofVec2f( 1.0f, 1.0f ) );
- texCoords.push_back( ofVec2f( 0.0f, 1.0f ) );
- surfaceManager.addSurface(surfaceType, vertices, texCoords);
-
- // select this surface right away
- surfaceManager.selectSurface(surfaceManager.size()-1);
-}
-
-void ofApp::setFboAsTexture()
-{
- surfaceManager.getSurface(0)->setTexture( &fbo->getTextureReference() );
-}
\ No newline at end of file
diff --git a/example-fboTexture/src/ofApp.h b/example-fboTexture/src/ofApp.h
deleted file mode 100755
index 05d7a8f..0000000
--- a/example-fboTexture/src/ofApp.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef H_OF_APP
-#define H_OF_APP
-
-#include "ofMain.h"
-#include "ofxPiMapper.h"
-
-class ofApp : public ofBaseApp
-{
-public:
- void setup();
- void update();
- void draw();
- void exit();
-
- void keyPressed(int key);
-
- void addRandomSurface();
- void addQuadSurface();
- void addSurface();
- void setFboAsTexture();
-
- ofImage image;
- ofxSurfaceManager surfaceManager;
- ofxSurfaceManagerGui gui;
- bool bShowInfo;
- ofFbo* fbo;
- vector rects;
- vector rectSpeeds;
-};
-
-#endif
\ No newline at end of file
diff --git a/example/bin/data/defaultSurfaces.xml b/example/bin/data/defaultSurfaces.xml
old mode 100644
new mode 100755
diff --git a/example/src/ofApp.cpp b/example/src/ofApp.cpp
old mode 100644
new mode 100755
index 6b90cf1..7012632
--- a/example/src/ofApp.cpp
+++ b/example/src/ofApp.cpp
@@ -2,39 +2,56 @@
void ofApp::setup()
{
- //image.loadImage("TestPatternInvert.jpg");
bShowInfo = false;
- /*
- surfaceManager.addSurface( ofxSurfaceType::TRIANGLE_SURFACE );
-
- surfaceManager.addSurface( ofxSurfaceType::TRIANGLE_SURFACE );
- surfaceManager.getSurface(1)->setVertex(0, ofVec2f(10, 10));
- surfaceManager.getSurface(1)->setVertex(1, ofVec2f(400, 20));
- surfaceManager.getSurface(1)->setVertex(2, ofVec2f(300, 400));
- */
-
// check if the surfaces.xml file is there
// if not - load defaultSurfaces.xml
-
if ( ofFile::doesFileExist("surfaces.xml") ) {
surfaceManager.loadXmlSettings("surfaces.xml");
} else {
surfaceManager.loadXmlSettings("defaultSurfaces.xml");
}
+ // Pass the surface manager to the mapper graphical user interface
gui.setSurfaceManager( &surfaceManager );
+
+ // Create FBO
+ fbo = new ofFbo();
+ fbo->allocate( 500, 500 );
+ setFboAsTexture();
+
+ // Genereate rects
+ int numRects = 20; // change this to add more or less rects
+ for ( int i=0; igetHeight()), fbo->getWidth(), ofRandom(20)) );
+ rectSpeeds.push_back( (1.0f + ofRandom(5)) );
+ }
}
void ofApp::update()
{
- ofBackground(0);
+ // Move rects
+ for ( int i=0; i fbo->getHeight() ) {
+ rects[i].y = -rects[i].getHeight();
+ }
+ }
+
+ // Fill FBO
+ fbo->begin();
+ ofClear(0);
+ ofBackground(0);
+ ofSetColor(255);
+ for ( int i=0; iend();
}
void ofApp::draw()
{
- //surfaceManager.draw();
- // if using gui - use ofxSurfaceManagerGui::draw() instead of surfaceManager::draw()
+ // Draw the piMapper GUI
gui.draw();
if ( bShowInfo ) {
@@ -47,14 +64,22 @@ void ofApp::draw()
ss << " 4. Source selection mode\n\n";
ss << "You can switch between the modes by using <1>, <2>, <3> and <4> keys on the keyboard.\n\n";
ss << "Press or to add random or normal surface.\n";
+ ss << "Press to add a new quad surface.\n";
ss << "Press to save the composition.\n";
ss << "Press to toggle fullscreen.\n";
+ ss << "Press to reassign the fbo texture to the first surface\n";
ss << "Hit to hide this message.";
ofDrawBitmapStringHighlight(ss.str(), 10, 20, ofColor(0,0,0,100), ofColor(255,255,255,200));
}
}
+void ofApp::exit()
+{
+ // Clear FBO from mem
+ delete fbo;
+}
+
void ofApp::keyPressed(int key)
{
cout << "Key pressed: " << static_cast(key) << endl;
@@ -66,32 +91,16 @@ void ofApp::keyPressed(int key)
case '4': gui.setMode(ofxGuiMode::SOURCE_SELECTION); break;
case 'i': bShowInfo = !bShowInfo; break;
case 'r': addRandomSurface(); break;
+ case 'q': addQuadSurface(); break;
case 'n': addSurface(); break;
case 'f': ofToggleFullscreen(); break;
case 's': surfaceManager.saveXmlSettings("surfaces.xml"); break;
+ case 'a': setFboAsTexture(); break;
case OF_KEY_BACKSPACE: surfaceManager.removeSelectedSurface(); break;
default: break;
}
}
-void ofApp::mousePressed(int x, int y, int button)
-{
- //cout << "Mouse pressed." << endl;
- //surfaceManager.mousePressed(x, y, button);
-}
-
-void ofApp::mouseReleased(int x, int y, int button)
-{
- //cout << "Mouse released." << endl;
- //surfaceManager.mouseReleased(x, y, button);
-}
-
-void ofApp::mouseDragged(int x, int y, int button)
-{
- //
- //surfaceManager.mouseDragged(x, y, button);
-}
-
void ofApp::addRandomSurface()
{
int surfaceType = ofxSurfaceType::TRIANGLE_SURFACE;
@@ -109,6 +118,29 @@ void ofApp::addRandomSurface()
surfaceManager.selectSurface(surfaceManager.size()-1);
}
+void ofApp::addQuadSurface()
+{
+ int surfaceType = ofxSurfaceType::QUAD_SURFACE;
+ vector vertices;
+
+ int border = 50;
+ vertices.push_back( ofVec2f(border, border) );
+ vertices.push_back( ofVec2f(border, ofGetHeight() - border) );
+ vertices.push_back( ofVec2f(ofGetWidth() - border, ofGetHeight() - border) );
+ vertices.push_back( ofVec2f(ofGetWidth() - border, border) );
+
+ vector texCoords;
+ texCoords.push_back( ofVec2f(ofVec2f(0.0f, 0.0f)) );
+ texCoords.push_back( ofVec2f(ofVec2f(1.0f, 0.0f)) );
+ texCoords.push_back( ofVec2f(ofVec2f(1.0f, 1.0f)) );
+ texCoords.push_back( ofVec2f(ofVec2f(0.0f, 1.0f)) );
+
+ surfaceManager.addSurface(surfaceType, vertices, texCoords);
+
+ // select this surface right away
+ surfaceManager.selectSurface(surfaceManager.size()-1);
+}
+
void ofApp::addSurface()
{
int surfaceType = ofxSurfaceType::TRIANGLE_SURFACE;
@@ -124,4 +156,9 @@ void ofApp::addSurface()
// select this surface right away
surfaceManager.selectSurface(surfaceManager.size()-1);
+}
+
+void ofApp::setFboAsTexture()
+{
+ surfaceManager.getSurface(0)->setTexture( &fbo->getTextureReference() );
}
\ No newline at end of file
diff --git a/example/src/ofApp.h b/example/src/ofApp.h
old mode 100644
new mode 100755
index 6c6a67f..05d7a8f
--- a/example/src/ofApp.h
+++ b/example/src/ofApp.h
@@ -10,19 +10,22 @@ public:
void setup();
void update();
void draw();
+ void exit();
void keyPressed(int key);
- void mousePressed(int x, int y, int button);
- void mouseReleased(int x, int y, int button);
- void mouseDragged(int x, int y, int button);
void addRandomSurface();
+ void addQuadSurface();
void addSurface();
+ void setFboAsTexture();
ofImage image;
ofxSurfaceManager surfaceManager;
ofxSurfaceManagerGui gui;
bool bShowInfo;
+ ofFbo* fbo;
+ vector rects;
+ vector rectSpeeds;
};
#endif
\ No newline at end of file