summaryrefslogtreecommitdiff
path: root/offsetProject/src/ofApp.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2014-03-13 17:32:30 +0000
committerTim Redfern <tim@eclectronics.org>2014-03-13 17:32:30 +0000
commit8072eb4d248debf2d049548dd5dec21cc0152c52 (patch)
tree0f257a0d4521c0945fb6b693531c3b19d960b895 /offsetProject/src/ofApp.cpp
parentc062e52ad21440b69ec7096e37b0fc3346465328 (diff)
matrix size adjustment
Diffstat (limited to 'offsetProject/src/ofApp.cpp')
-rw-r--r--offsetProject/src/ofApp.cpp28
1 files changed, 19 insertions, 9 deletions
diff --git a/offsetProject/src/ofApp.cpp b/offsetProject/src/ofApp.cpp
index 63b0791..51795f5 100644
--- a/offsetProject/src/ofApp.cpp
+++ b/offsetProject/src/ofApp.cpp
@@ -76,6 +76,8 @@ void ofApp::setup() {
mode=MODE_COLOURTILES;
fullscreen=false;
+
+ tiledata=new float[FLANN_MATRIX_SIZE*FLANN_MATRIX_SIZE*3];
}
//--------------------------------------------------------------
@@ -103,7 +105,7 @@ void ofApp::update() {
int h=ceil(ofGetHeight()/MAX_TILE_SIZE);
int w=(h*4)/3;
depthImage.resize(w,h);
- colourImage.resize(w,h);
+ colourImage.resize(w*FLANN_MATRIX_SIZE,h*FLANN_MATRIX_SIZE);
// mark pixels and texture dirty
depthImage.flagImageChanged();
@@ -145,22 +147,29 @@ void ofApp::draw() {
switch(mode){
case MODE_COLOURTILES:
//store.draw();
- xstart=(ofGetWidth()/2)-((colourImage.getHeight()/2)*MAX_TILE_SIZE);
- ystart=(ofGetHeight()/2)-((colourImage.getHeight()/2)*MAX_TILE_SIZE);
+ xstart=(ofGetWidth()/2)-((depthImage.getHeight()/2)*MAX_TILE_SIZE);
+ ystart=(ofGetHeight()/2)-((depthImage.getHeight()/2)*MAX_TILE_SIZE);
kinexstart=(colourImage.getWidth()/2)-(colourImage.getHeight()/2);
ofPushMatrix();
ofTranslate(xstart,ystart);
w=colourImage.getWidth();
for (int i=0;i<depthImage.getHeight();i++){
for (int j=0;j<depthImage.getHeight();j++){
- uint8_t* ppt=&colourImage.getPixels()[(j*w+(w-(i+kinexstart)))*3];
-
+ //uint8_t* ppt=&colourImage.getPixels()[((j*FLANN_MATRIX_SIZE)*w+(w-((i*FLANN_MATRIX_SIZE)+kinexstart)))*3];
- //store.get_image(ofColor(ppt[0],ppt[1],ppt[2])).draw(i*MAX_TILE_SIZE,j*MAX_TILE_SIZE);
+ for (int k=0;k<FLANN_MATRIX_SIZE;k++){
+ for (int l=0;l<FLANN_MATRIX_SIZE;l++){
+ tiledata[(l*FLANN_MATRIX_SIZE+k)*3]=colourImage.getPixels()[((j*FLANN_MATRIX_SIZE+l)*w+(w-((i*FLANN_MATRIX_SIZE+k)+kinexstart)))*3];
+ tiledata[(l*FLANN_MATRIX_SIZE+k)*3+1]=colourImage.getPixels()[((j*FLANN_MATRIX_SIZE+l)*w+(w-((i*FLANN_MATRIX_SIZE+k)+kinexstart)))*3+1];
+ tiledata[(l*FLANN_MATRIX_SIZE+k)*3+2]=colourImage.getPixels()[((j*FLANN_MATRIX_SIZE+l)*w+(w-((i*FLANN_MATRIX_SIZE+k)+kinexstart)))*3+2];
+ }
+ }
+ //ofImage& im=store.get_image(ofColor(ppt[0],ppt[1],ppt[2]));
//ofSetColor(ppt[0],ppt[1],ppt[2]);
//ofRect(i*MAX_TILE_SIZE,j*MAX_TILE_SIZE,MAX_TILE_SIZE,MAX_TILE_SIZE);
- ofImage& im=store.get_image(ppt[0],ppt[1],ppt[2]);
+ //ofImage& im=store.get_image(ppt[0],ppt[1],ppt[2]);
+ ofImage& im=store.get_image(tiledata);
if (im.isUsingTexture()) im.draw(i*MAX_TILE_SIZE,j*MAX_TILE_SIZE);
}
}
@@ -186,8 +195,9 @@ void ofApp::draw() {
//--------------------------------------------------------------
void ofApp::exit() {
-
-
+ delete tiledata;
+ kinect.setCameraTiltAngle(0); // zero the tilt on exit
+ kinect.close();
}
//--------------------------------------------------------------