summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-06-24 01:39:45 +0100
committerComment <tim@gray.(none)>2013-06-24 01:39:45 +0100
commit5f10387ea9eeb5278f4be2c88049041dcc3530b2 (patch)
treeea4b11887ad9afe07903a6bccfe58b686051ef4a
parentdd4799273e806c91606d8246eae61255d44cef9a (diff)
new vector parts
-rwxr-xr-x06_performance/06_performance.cbp51
-rw-r--r--06_performance/src/main.cpp4
-rw-r--r--06_performance/src/oni.cpp32
-rw-r--r--06_performance/src/oni.h11
4 files changed, 81 insertions, 17 deletions
diff --git a/06_performance/06_performance.cbp b/06_performance/06_performance.cbp
new file mode 100755
index 0000000..2851a03
--- /dev/null
+++ b/06_performance/06_performance.cbp
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+ <FileVersion major="1" minor="6" />
+ <Project>
+ <Option title="06_performance" />
+ <Option makefile_is_custom="1" />
+ <Option pch_mode="2" />
+ <Option compiler="gcc" />
+ <Option virtualFolders="addons/;src/;build config/;" />
+ <Build>
+ <Target title="Debug">
+ <Option output="bin/$(PROJECT_NAME)_debug" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Debug/" />
+ <Option external_deps="../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworksDebug.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ <Target title="Release">
+ <Option output="bin/$(PROJECT_NAME)" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Release/" />
+ <Option external_deps="../../../libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ </Build>
+ <Unit filename="addons.make">
+ <Option virtualFolder="build config/" />
+ </Unit>
+ <Unit filename="config.make">
+ <Option virtualFolder="build config" />
+ </Unit>
+ <Unit filename="src/main.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.h">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Extensions>
+ <code_completion />
+ <envvars />
+ <debugger />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
diff --git a/06_performance/src/main.cpp b/06_performance/src/main.cpp
index d85180c..9343609 100644
--- a/06_performance/src/main.cpp
+++ b/06_performance/src/main.cpp
@@ -4,8 +4,8 @@
//========================================================================
int main( ){
- ofSetupOpenGL(4080,768, OF_WINDOW); // <-------- setup the GL context
- //ofSetupOpenGL(1224,232, OF_WINDOW); // <-------- setup the GL context
+ //ofSetupOpenGL(4080,768, OF_WINDOW); // <-------- setup the GL context
+ ofSetupOpenGL(1550,296, OF_WINDOW); // <-------- setup the GL context
diff --git a/06_performance/src/oni.cpp b/06_performance/src/oni.cpp
index 099dd87..024594f 100644
--- a/06_performance/src/oni.cpp
+++ b/06_performance/src/oni.cpp
@@ -59,7 +59,7 @@ void syncOniPlayer::drawWindows(){
}
}
-void syncOniPlayer::drawCloud(int step){
+void syncOniPlayer::drawCloud(int step){
int count;
for (int n=0;n<players.size();n++) {
@@ -70,7 +70,7 @@ void syncOniPlayer::drawCloud(int step){
int depthW=players[n]->getWidth();
int depthH=players[n]->getHeight();
-
+
for (int i=0;i<depthW;i+=step) {
glBegin(GL_LINES);
@@ -80,8 +80,8 @@ void syncOniPlayer::drawCloud(int step){
ofPoint p= players[n]->projectiveToWorld(ofPoint(i,j,(float)(depthmap[j*depthW+i])));
//ofPoint p= projectiveToWorld(ofPoint(i,j,(float)depthmap[j*dmw+i]));
-
- if (p.z == 0 || p.z>range) continue; // gets rid of background
+
+ if (p.z == 0 || p.z>range) continue; // gets rid of background
glColor4ub((unsigned char)255, (unsigned char)255, (unsigned char)255, (unsigned char)255);
@@ -91,7 +91,7 @@ void syncOniPlayer::drawCloud(int step){
glEnd();
}
-
+
}
return;
@@ -103,15 +103,17 @@ void syncOniPlayer::drawPoints(float birth,float life,float dx,float dy, float d
int range=1700;
int dmw=players[0]->getWidth();
int dmh=players[0]->getHeight();
- int step=pixels.getWidth()/dmw;
- for (int o=0;o<birth;o++) {
- int i=ofRandom(dmw);
- int j=ofRandom(dmh);
- ofPoint p= players[0]->projectiveToWorld(ofPoint(i,j,(float)depthmap[j*dmw+i]));
- if (p.z <100 || p.z>range) continue;
- points.push_back(fpoint(p.x, p.y, p.z,pixels[((j*step*dmw)+(i*step))*3],pixels[((j*step*dmw)+(i*step))*3]+1,pixels[((j*step*dmw)+(i*step))*3]+2));
- //fpoint f=fpoint(p.x, p.y, p.z,pixels[((j*step*dmw)+(i*step))*3],pixels[((j*step*dmw)+(i*step))*3]+1,pixels[((j*step*dmw)+(i*step))*3]+2);
- //f.draw(life,dx,dy,dz);
+ if (dmw&&dmh){
+ int step=pixels.getWidth()/dmw;
+ for (int o=0;o<birth;o++) {
+ int i=ofRandom(dmw);
+ int j=ofRandom(dmh);
+ ofPoint p= players[0]->projectiveToWorld(ofPoint(i,j,(float)depthmap[j*dmw+i]));
+ if (p.z <100 || p.z>range) continue;
+ points.push_back(fpoint(p.x, p.y, p.z,pixels[((j*step*dmw)+(i*step))*3],pixels[((j*step*dmw)+(i*step))*3]+1,pixels[((j*step*dmw)+(i*step))*3]+2));
+ //fpoint f=fpoint(p.x, p.y, p.z,pixels[((j*step*dmw)+(i*step))*3],pixels[((j*step*dmw)+(i*step))*3]+1,pixels[((j*step*dmw)+(i*step))*3]+2);
+ //f.draw(life,dx,dy,dz);
+ }
}
std::list<fpoint>::iterator i = points.begin();
while (i != points.end())
@@ -205,4 +207,4 @@ void oniManager::drawPoints(float size,float birth,float life,float dx,float dy,
glDisable( GL_BLEND );
glDisable(GL_PROGRAM_POINT_SIZE);
}
-} \ No newline at end of file
+}
diff --git a/06_performance/src/oni.h b/06_performance/src/oni.h
index 2492d79..898a7a2 100644
--- a/06_performance/src/oni.h
+++ b/06_performance/src/oni.h
@@ -21,6 +21,17 @@ class fpoint{
else return true;
}
};
+class fpointManager{
+ void add(float x,float y,float z,uint8_t r,uint8_t g,uint8_t b){
+ if (pointPool.size()) {//take 1st dead particle
+ else {}//make a new one
+ }
+ void draw(int life,float dx,float dy,float dz){
+ if (p.draw(life,dx,dy,dz))
+ }
+ vector<fpoint> points;
+ set<int> pointPool;
+};
class syncOniPlayer{
public:
syncOniPlayer() {