Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X

Archive for March, 2014

Week Eight and Nine: Out of Time

So I haven’t done an update on the eigth week until now and the reason is that I’ve been pretty stresst to get every thing working and writing all of the reports that needs to be done at the of the for the the nineth and final week, on friday (tomorrow) actually.

So here is the post on both the of the last to week working on the project.

 

Week Eight

———————————-

During the eigth week I was only going give the particles the ability to use geometry instead of only having the option of using the billboards, but that was don in less then two days so I said to myself, what the hell, it would be cool if they could rotate as well and not just have their original roation when loaded by the program. Well after this proved to take just a little bit more time than the adding the geometry particles to the system, I again looked invard for guidance and I found that I wanted to make the emitters rotate as well, because that would be freaking awsome. So of course I did and the result was pretty awesome as I hope that these screenshot will show. I might upload some videos later as the screenshots doesn’t quite capture the awesomeness of the moving emitters.

SpinningEmitter1

This image shows a spinning surface emitter that has the shape of a cube.

SpinningEmitter2

The image above shows a spinning surface emitter with the shape of a dosecahedron.

SpinningEmitter3

Above is an image of a line emitter spinning line emitter that’s emitting cubes.

SpinningGeometry

This image shows a stationary line emitter that’s emitting cubes that are given an angular velocity as they’re emitted from the emitter.

 

Week Nine

————————————

As I metioned at the start of this post I’ve been a little bit stressed during the ninth and final week, and that has to do with the fact that I was supposed to be done with the GUI at the end of last week so I only needed to write the repport for the project during week nine. But, because of some personal reasons that came up during the weekend I wasn’t able to. So designing and implementing the GUI so users can test the particle system was pushed to the start of this week.

It took about two and a half days to get what I think is all of the functionality to be modable via the GUI and that’s mostly just implementing the functionality for the individual buttons, check boxes, dropdown menues, ect., and spending almost no time at all on checking the different combinations of presses that could break my particle system.

But this the following images shows how the GUI looks like at the moment and most likely it will look the same at the final delivery as well, exept for a few names maybe.

ParticleGUI

 

 

Well that’s about it now I need to go get some lunch and prepare some slides for the presentation tomorrow, have a good one, and I might see you later. :)

Week Seven: I’m a Little Liar (Sort of)

I must confess, in my last post I said that I was going to work on adding more particle types to the system, and I started to, but not right away. Instead I decided to give the billboards the ability to have animated textures via the use of atlas textures, so that’s another thing getting scratched of my todo list while feeling the sweet taste of progress, delicious. :)

I also created a basic *.obj file loader that gave me the ability to load a shape that can be used by my surface emitter, you know what, just look at these pictures and you’ll see the both the loaded surface emitter and the animated textures doing their thing. 😉

ParticleAtlas

This image shows a line emitter emitting particles which has the animation of an explosion (I’ve enhanced the blue color channel to give the particles their bluish color).

The following images shows the stanford dragon emitting particles from all of it’s surfaces at ones. The last one shows the starting position of the particles without rendering the dragon at the particle emitters location. The particles are not effected by any gravity.

ParicleDragon1

 

ParicleDragon2

 

ParicleDragon3

 

ParicleDragon4

 

This week I intend to keep the promise that I gave last week by implementing one more particle type. That will most likely be the last feature that I will have time to integrate into my particle system, as the cource is nearing its end and I still need to fix the editors. If I still have time before the deadline I will also add save and load capabilities to the editors and particle system.

Before I go, I want to make an apology to Emil that gave me the beautiful particle image. I misspelled his last name in the post where I mentioned that he gave me the texture. So here is his full name spelled correctly (hopefully 😛 ), Emil Hedemalm.

Now it’s time to go home, bye bye.

More Emitters, Victory

So the implementation of the new emitter types wasn’t that hard at all, and that what we call a victory, a sweet, sweet, victory. Because of that I thougth I shuold share the results with you by showing you some more images ;).

This is an image of the line emitter that’s now available to the system.

LineEmitter

 

And an image of the line emitter from the side.

LineEmitterSide

This image is of the surface emitter that can bring particles into existance in the world.

SurfaceEmitter

 

And an image from inside the “blood snow” emitted by the surface emitter.

SurfaceEmitterInside

 

 

The line emitter can consist of an arbitrary amount of line segments and the surface emitter can consist of an arbitrary amount of surfaces. So if I just create a way to load model files I could just use the surface that are of a mesh. The surfaces of the surface emitter don’t need to have the same amount of vertices for every surface, but every surface needs to be convex if the it should emit its particles or emitters correctly.

So now I’m going to add a wider variety of particles to make things more interesting.

Bye, have a beautiful time. 😉

 

Week Six: There’s Emitters Everywhere

Okey, so during the sixth week I moved the calculations of the particle movment from the CPU to the GPU  (as I mentioned in the last update). I also gave the emitters the ability to move, so I think they’re happy, they haven’t told me otherwise ;D. But the major change to the system is that has happened is that now the particle emitters also has the ability to emit other emitters, and at the same time they can also emit particles which turned out pretty cool. It was my intention to show you my first ever image of the particles (which I got to say is about time), and as I took some screenshots I saw something I havn’t seen before. Some of the particles still doesn’t get sorted right, And i don’t know why, but it only appears to happen when there are two different types of particles that gets to close to one another, see the top of the left most red column and the place where the red and purpule particles meet.

ParticleShot

But for now lets forgett about that glaring issue and let me tell you about what’s happening in the image. At the bottom is a particle emitter (that you can’t see as I don’t render the emitters) that emitts the particle emitters that gives of the red particles creating the red colums and when it has emitted a set amount of emitters it will be removed from the world. The emitters that are emitting the red particles travles up into the sky without being effected by any type of gravity (both the emitters and the particles have their own direction that they “feel” gravity, so it could for example be along the negative x and the positive y axis), and when it has emitted a set amount of particles it transforms into a different type of emitter. It’s that emitter that’s emiting those teal colored particles, but it’s also emitting an “empty” emitter type, and when it has emitted a certain amount of emitters or particles it’s removed from the world. What I mean with an “empty” emitter is that it doesn’t emit any particles or emitters at all, it just lets the physics calculates its motion through the world, and after that “empty” emitter floated around for about 0.3 seconds it transforms into the emitter that’s  responsible for emitting those purpule particles and when it has emitted a certain amount of particles it gets removed from the world. The momentum is preserved between the transformation between different emitter types but can be ignored if the emitter is given an inverse mass of zero which gives the emitter an infinite mass.

So what will/am I doing this week, well I’m going to expand the emitter shape selection of the system. Right now there are only point emitters, at the end of the week I’m pretty confident that the selection will have increased with both line emitters, that will be able to emit particles and emitters between two points, and surface emitters that will be emitting its emitters and particels from its surface.

See you one week in the future.

I’d also like to thank Emil Hedemlam for providing me with a much better particle image then the once I had. Thank You Emil :D.