//-------------------------------------------------------------- void testApp::draw() { ofEnableBlendMode(OF_BLENDMODE_ADD); // sys.debugDraw(); // bind texture, enable point sprite while drawing particles sprite.bind(); ofEnablePointSprites(); sys.draw(); ofDisablePointSprites(); sprite.unbind(); }
//-------------------------------------------------------------- void ofApp::draw(){ ofSetColor(255,255,255); /* //Another way of zooming float zoom = 0.08; glPushMatrix(); glTranslatef(100,50,0); glScalef(zoom,zoom,0); image.draw(w/8, h/8); glPopMatrix();*/ image.draw(imgPos.x, imgPos.y, image.width, image.height); ofVec2f mousePos(ofGetMouseX(), ofGetMouseY()); ofSetColor(57, 74, 84); ofNoFill(); ofSetLineWidth(10); ofSetCircleResolution(500); ofCircle(mousePos.x, mousePos.y, radius); ofPath magnifierPath; ofMesh magnifierMesh; magnifierPath.setCircleResolution(100); magnifierPath.setFilled(true); magnifierPath.circle(mousePos.x, mousePos.y, radius); magnifierPath.close(); magnifierMesh=magnifierPath.getTessellation(); for (int i=0; i<magnifierMesh.getNumVertices(); i++) { ofVec2f vertPos = magnifierMesh.getVertex(i); ofVec2f zoomedPos = ((vertPos - mousePos) / zoomFactor) + mousePos; ofVec2f uvPos = zoomedPos - imgPos; magnifierMesh.addTexCoord(uvPos); } ofSetColor(255, 255, 255); image.bind(); magnifierMesh.draw(); image.unbind(); }
void GeoParticle::draw(ofImage mGrad, ofImage explosionSprite) { if(m_isExploding == true){ for(int j = 0 ; j < 50; j ++){ ofPushMatrix(); if(m_gradNum == 0 ){ofSetColor(251,236,119,alphaExplode);} if(m_gradNum == 1 ){ofSetColor(238,158,100,alphaExplode);} if(m_gradNum == 2 ){ofSetColor(211,75,63,alphaExplode);} if(m_gradNum == 3 ){ofSetColor(87,193,235,alphaExplode);} if(m_gradNum == 4 ){ofSetColor(72,165,76,alphaExplode);} if(m_gradNum == 5 ){ofSetColor(169,233,180,alphaExplode);} explosionSprite.draw(pos.x+ofRandom(-alphaExplode,alphaExplode),pos.y+ofRandom(-alphaExplode,alphaExplode), 30,30); ofPopMatrix(); } } ofSetColor(255); mGrad.bind(); ofPushMatrix(); ofTranslate(pos.x, pos.y); ofScale(GeoSize, GeoSize); //set alpha for explosion ofSetColor(255, (int)255 - 255 * (m_explodeTime / s_explosionTimeout)); m_vbo.bind(); glDrawArrays(GL_TRIANGLES, 0, m_numTriangles*3); m_vbo.unbind(); ofPopMatrix(); mGrad.unbind(); }