diff options
| author | Tim Redfern <tim@eclectronics.org> | 2014-02-21 10:27:06 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2014-02-21 10:27:06 +0000 |
| commit | 4f893d1680c10b4b30e2d0bd7e90246a8fb8f6f1 (patch) | |
| tree | 4dc04369d76a295b8507de5827d94fd61bb812c9 | |
| parent | d07c0df6a9836376f93853c64e06b3daa03c12f1 (diff) | |
recursive tile drawing
| -rw-r--r-- | offsetProject/src/ofApp.cpp | 33 | ||||
| -rw-r--r-- | offsetProject/src/ofApp.h | 2 |
2 files changed, 16 insertions, 19 deletions
diff --git a/offsetProject/src/ofApp.cpp b/offsetProject/src/ofApp.cpp index 9252da1..5233ac4 100644 --- a/offsetProject/src/ofApp.cpp +++ b/offsetProject/src/ofApp.cpp @@ -111,44 +111,39 @@ void ofApp::update() { } } -void ofApp::checktile(int level,int levels,int levels_factor,int x,int y,int xoffset,int yoffset,int size){ - if (depthTiles[level].getPixels()[y*depthTiles[level].getHeight()+x]>level*levels_factor&&levels>level){ +void ofApp::checktile(int level,int x,int y,int size){ + int levels_factor=255/levels; + if (depthTiles[level].getPixels()[y*((int)depthTiles[level].getHeight())+x]>level*levels_factor&&levels>level){ for (int i=0;i<2;i++){ for (int j=0;j<2;j++){ - checktile(level+1,levels,levels_factor,x*2+i,y*2+j,xoffset*2+(i*size),yoffset*2+(j*size),size/2); + checktile(level+1,x*2+i,y*2+j,size/2); } } } else { - ofSetColor(depthTiles[level].getPixels()[(y*depthTiles[level].getHeight()+x)*3, - depthTiles[level].getPixels()[(y*depthTiles[level].getHeight()+x)*3+1, - depthTiles[level].getPixels()[(y*depthTiles[level].getHeight()+x)*3+2] - ofRect(xoffset,yoffset,size,size); + ofSetColor(depthTiles[level].getPixels()[(y*((int)depthTiles[level].getHeight())+x)*3], + depthTiles[level].getPixels()[(y*((int)depthTiles[level].getHeight())+x)*3+1], + depthTiles[level].getPixels()[(y*((int)depthTiles[level].getHeight())+x)*3+2]); + ofRect(x*size,y*size,size,size); } } //-------------------------------------------------------------- void ofApp::draw() { + ofSetColor(255, 255, 255); + //recursively draw pixels - //is there a way to represent a pixel as an object in this way? + int pixelsize=ofGetWidth()/MAX_TILE_SIZE; for (int i=0;i<colourTiles[levels-1].getWidth();i++){ for (int j=0;j<colourTiles[levels-1].getHeight();j++){ - int level=0; - - if (depthTiles[level].getPixels()[((i*level)*depthTiles[level].getHeight())+(j*level)]>level*levels_factor){ - for (int ix=0;ix<2;ix++){ - for (int iy=0;iy<2;iy++){ - //SIMILAR DEPTH CHECK AND RECURSIVE DESCENT - } - } - else //draw this square + checktile(0,i,j,pixelsize); } } - ofSetColor(255, 255, 255); + /* depthImage.draw(10, 10, 640, 480); colourImage.draw(10, 500, 640, 480); @@ -160,6 +155,8 @@ void ofApp::draw() { xoffs+=(colourTiles[i].getWidth()+10); } + */ + /* diff --git a/offsetProject/src/ofApp.h b/offsetProject/src/ofApp.h index 2e3ca28..599ee5e 100644 --- a/offsetProject/src/ofApp.h +++ b/offsetProject/src/ofApp.h @@ -43,7 +43,7 @@ public: void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - void checktile(int level,int levels,int levels_factor,int x,int y,int xoffset,int yoffset,int size); + void checktile(int level,int x,int y,int size); ofxKinect kinect; |
