Jumanah – Blog Post 1

I started off with getting documentation about OpenFrameworks and XCode. I watched a series of youtube videos to set things up. My main point of reference was the documentation on the OpenFrameworks website. I used the project generator to create a simple open frameworks app, and then I added gradually particle and particle system classes from the tutorials, in C++ of course, so it took time to convert the code from java..

screen-shot-2017-01-26-at-10-08-53-pm

After I proceeded with generating fire colors, random values for R and G – to go from yellow to red. Then I played around with the gravity to move the particles up instead of down, and transparency to give the fire a more realistic look. The size of the particles also changes based on lifespan.

 

Overall result:

screen-shot-2017-01-26-at-10-53-36-pm

• Failures – •

The fire is still in its early stages, as the values for size and and life span of the fire are not definite yet. I also had problems with creating a dynamic array in C++, still not sure how to implement this for performance reasons, so I ended up using a normal array with 1000 particles. array[1000] .. this will need to change next sprint.  I will need to create new particles and delete old ones.  I will need to do more research next time.

Successes

Setting up xcode and open frameworks was easier than expected, open frameworks made it easy to create vectors and shapes.. much like processing. I learned some new functions too. I am pleased with the starting point for the fire, it looks like a fire!!!

Technical Info

I used xcode with open frameworks to set up a project

created ParticleSystem class and particle class with methods and variables.. and constructors.. then changed the color and transparency like so

  float lifePercent = life / maxLife;

    

    if (life >= maxLife){

        

        life = maxLife;

    }

    

    float size = ofRandom(1,200) * (lifePercent);

   

    diameter = size;

    

    ofPushMatrix();

        ofTranslate( position.x, position.y );

        ofSetColor(ofRandom(200,255),ofRandom(0,200),0,lifePercent+50); //red

        ofDrawEllipse(0, 0, diameter, diameter);

    ofPopMatrix();

Thanks for reading. Tune in next time 🙂

Jumanah Al Asadi

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s