diff options
| author | Tim Redfern <tim@eclectronics.org> | 2014-03-13 17:32:30 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2014-03-13 17:32:30 +0000 |
| commit | 8072eb4d248debf2d049548dd5dec21cc0152c52 (patch) | |
| tree | 0f257a0d4521c0945fb6b693531c3b19d960b895 /offsetProject/src/ofApp.cpp | |
| parent | c062e52ad21440b69ec7096e37b0fc3346465328 (diff) | |
matrix size adjustment
Diffstat (limited to 'offsetProject/src/ofApp.cpp')
| -rw-r--r-- | offsetProject/src/ofApp.cpp | 28 |
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(); } //-------------------------------------------------------------- |
