From 4f893d1680c10b4b30e2d0bd7e90246a8fb8f6f1 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Fri, 21 Feb 2014 10:27:06 +0000 Subject: recursive tile drawing --- offsetProject/src/ofApp.cpp | 33 +++++++++++++++------------------ 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;ilevel*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; -- cgit v1.2.3