Пример #1
0
ofxMSAPhysics* ofxMSAPhysics::setWorldMin(ofPoint worldMin) {
	params.worldMin = worldMin;
	params.doWorldEdges = true;
	ofPoint worldSize = params.worldMax - params.worldMin;
	setupBins(worldSize.x, worldSize.y, worldSize.z, 5, 5, 5);	// TODO: sort this out
	return this;	
}
Пример #2
0
//---------------------------------------------------------------------------------
void particleManager::setupWorld() {

    setupBins(OFFSCREEN_WIDTH, OFFSCREEN_HEIGHT);


    //------------------------------------- make some particles
    particles.assign(1400, groupableParticle());

    //------------------------------------- properties, like drag and pos, etc, etc.
    for (int j = 0; j < particles.size(); j ++) {
        particles[j].pos.set(ofxVec3f(ofRandom(0, OFFSCREEN_WIDTH), ofRandom(0, OFFSCREEN_HEIGHT), 0));
        particles[j].vel.set(0, 0, 0);
        float drag = ofRandom(0.0717, 0.08);
        particles[j].drag = drag;

        particles[j].radius = 5;// + powf(ofRandom(0,1), 3) * 20;
        //if (j == 10)  particles[j].radius = 30;

        // get the pos from the particle system
        /*if(j < NUM_PARTICLES_VBO) {
        	vboPts[j][0] = particles[j].pos.x;
        	vboPts[j][1] = particles[j].pos.y;
        	vboPts[j][2] = particles[j].pos.z;

        	vboColor[j][0] = 1.0;
        	vboColor[j][1] = 1.0;
        	vboColor[j][2] = 1.0;
        	vboColor[j][3] = maxAlpha;
        	vboPtsSize[j] = 10.0;
        }*/
    }
    /*
    ofDisableArbTex();
    shader.loadShader("sceneAssets/stars/VBOShader");

    theDot.loadImage("images/spot.png");
    ofEnableArbTex();

    // set up the vbo
    glGenBuffersARB(2, &vbo[0]);


    // VBO for color
    glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo[0]);
    glBufferDataARB(GL_ARRAY_BUFFER_ARB, NUM_PARTICLES_VBO*4*sizeof(float), vboColor, GL_STREAM_DRAW_ARB);

    // VBO for vertex positions
    glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo[1]);
    glBufferDataARB(GL_ARRAY_BUFFER_ARB, NUM_PARTICLES_VBO*3*sizeof(float), vboPts, GL_STREAM_DRAW_ARB);

    shader.setShaderActive(false);
    */
}