i have a question, how does the plug operate exactly, what would the actions, conditions, etc be?
Right now the actions are "add ink"(smoke)(x index,y index, ink amount)
And set velocity. (X index, y index, x component, y component)
Set vorticity (the swirliness of the smoke, for instance the fire had a higher vorticity than the smoke)
Set velocity advection. Advection is the preservation of a property as it moves through the fluid, so a higher velocity advection, the current wouldn't slow down as much as it moved through the fluid
I will add the actions to set heat, pressure, amd ink advection
I think its also possible to set the heat and pressure values at an index like you can with velocity
Oh yeah, and anything you can set adveection for you can set diffusion for which is the tendency to dissapate
Expressions are to get ink,velocity and later I think heat pressure for a given grid index
Right now I'm doing the math to translate grid coords back and forth to screen coords in the cap, but it makes sense to have that done automatically, so ill build it into the plugin
[quote:4b9vg3ll]also i have some questions about how it runs, does it constantly use the same overhead no matter the amount of fluid, i assume it constantly processes a set space parsed into a grid or, does take more to do more?
think it does use more processing power with more ink, because in an empty space it only needs to calculate, the velocity and not any ink advection, but I don't think more and more ink slows it down even more, I think any ink present in any given grid coord adds the cpu time, but after there's some ink there, more ink doesn't slow it down more, of course, it could be the way I was applying it visually, ill let you know more as I figure it out
[quote:4b9vg3ll]aaaand can it interact with solids/moving solids?
I sure hope so. Its not built in to the library, but I think I maybe able to use the wall hitting functions to be able to add obstacles, even if they can't be at an angle for now...ill let you know if it works
EDIT: oh yeah, almost forgot, I want to add a for each loop for eachloop index, with parameters for greater than values you can set for ink, velocity, etc
Almost any implentation I can think of involves a nested loop for 0 thru gridsize x, for 0 thru gridsize y, and sometimes if ink at loopindex("x"),loopindex("y") is greater than whatever do this
So ill have expressions for ink at loopindex, velocity, etc,and the conditional for each loopindex thing will make it very simple
Also before I stated it has the action to set ink and velocity at index, I think it should be for screen coordinates or indexes
And finally I forgot to say, an action to set the size of the grid
All the grids in these demos have been 50x50 visually, though all except for this last post with the smooth and retro versions have been calculated at 100x100 size, just for speed testing purposes