 |  | | How is the calculation stream implemented in Particle Flow? |
|  |
Posted: Sat Jan 30, 2010 7:10 am |
|
|
| supernatural |
|
|
 |
| Joined: 30 Jan 2010 |
| Posts: 12 |
|
|
|
 |
 |
 |
|
Hi.
This is my first. I am a TD, and relatively new to Particle Flow.
In the help file it says, if you go forward 1 frame, it's gonna have to calculate only a frame, but if you go backward, even only for a single frame, it's gonna calculate from start to that target frame.
I am wondering if it's implemented as some sort of IEnumerable stream?
While it's true that most collections don't make it possible to go back and forth using an iterator of some sort, but for this Particle Flow calculation, is it not?
I am probably missing something that makes it impossible.
I am just wondering if it could be implemented this way so you could advance back and forth where going back would just moves to the previous element in the stream.
Mine is just curiosity, I am not trying to find out the insider details. But any info I would really appreciate about this intricate particle system.
Thanks. |
|
|
|
|
 | |  |
Posted: Sun Jan 31, 2010 4:13 pm |
|
|
| benyaboy |
|
 |
 |
| Joined: 20 Dec 2004 |
| Posts: 92 |
| Location: New York City |
|
|
 |
 |
 |
|
| supernatural wrote: |
Hi.
In the help file it says, if you go forward 1 frame, it's gonna have to calculate only a frame, but if you go backward, even only for a single frame, it's gonna calculate from start to that target frame...
|
I think you are getting confused. Particle flow is not a data array of simulation frames, its an integration engine. At each time step it takes the current data, applies a transformation on that data, and overwrites the old data. To move forward one frame this takes one ( or up to 8 ) steps. To move backwards you can't just apply the forces in negative, you need to integrate from the start. However, there are caching operators. These simply store the state of all the channels and set them, by bypassing the integration step. This, however, is costly. So you can have it cache every N frames guaranteeing that the integration is MAX(N).
If you change any parameters, it has to calculate again from frame zero. This includes invalidating any cache.
You can set the update type to not recalculate, via ParticleView/Options/UpdateType/Forward. This will only use the new values for the next frames.
I find the caching and updating system in pflow to be pretty weak and unfriendly. But for simple scenes its ok. And caching is a must for network rendering.
Ben. |
|
|
|
|
 | |  |
Posted: Sun Jan 31, 2010 9:13 pm |
|
|
| supernatural |
|
|
 |
| Joined: 30 Jan 2010 |
| Posts: 12 |
|
|
|
 |
 |
 |
|
Thanks Ben. I wasn't sure how you implemented it. So does using an integration engine provide a superior alternative to using some sort of stream? Or is using a stream essentially what a cache would be?
I am wondering if there is a way around for this expensive calculation when going backwards? Can it be avoided without using a cache?
Can't it be implemented by using a stream/iterator of some sort?
Just curious if it's possible.
Thanks. |
|
|
|
|
Posted: Mon Feb 01, 2010 11:43 am |
|
|
| benyaboy |
|
 |
 |
| Joined: 20 Dec 2004 |
| Posts: 92 |
| Location: New York City |
|
|
 |
 |
 |
|
I didn't write particle flow. And this isn't c#.
Ben. |
|
|
|
|
Posted: Mon Feb 01, 2010 8:02 pm |
|
|
| supernatural |
|
|
 |
| Joined: 30 Jan 2010 |
| Posts: 12 |
|
|
|
 |
 |
 |
|
| benyaboy wrote: |
I didn't write particle flow. And this isn't c#.
Ben. |
Ok I assumed you did from your first post. I know it's written with C++ probably but C# is what I know, that's why I used .NET terminology.
Either way though, can you answer my previous questions? I am just interested in the tech.
Thanks. |
|
|
|
|
Posted: Tue Feb 02, 2010 11:31 am |
|
|
| benyaboy |
|
 |
 |
| Joined: 20 Dec 2004 |
| Posts: 92 |
| Location: New York City |
|
|
 |
 |
 |
|
| I think I already answered all of your questions. I suggest reading some tutorials, buying DVDs on using maxscript or exploring the source code in the max SDK. |
|
|
|
|
| Orbaz Technologies Forum Index » General Discussion |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
All times are GMT - 5 Hours
Page 1 of 1
|
|
|
|
Copyright© 2004-2005 Orbaz Technologies, Inc. All rights reserved.
Powered by phpBB © 2001, 2005 phpBB Group phpBB Style by Vjacheslav Trushkin
|