Commit Graph

175 Commits

Author SHA1 Message Date
17cd5811e7 Smoke now uses only one point cache where both normal and high resolution smoke are stored together:
* Separate caches were causing quite a lot of problems both in principle and practice.
* For example it doesn't really make sense to have different frame ranges for normal and high resolution smoke, but this was fully possible before.
* Also to fully bake the smoke you had to do a "Bake All Dynamics", which completely defeats the whole point of the feature!
* As a result of this change the smoke cache usage is much much simpler and less error prone.
* This is quite a big change, but hopefully there should be less rather than more problems as a result :)

Some other related changes:
* Changing the cache name now works for disk caches properly too, it now just renames the cache files so should be faster too!
* Smoke is now always forced to disk cache with step 1 on file load as there were some strange cases where smoke was trying to use memory cache.
* Disabled smoke debug prints from console.
* Disabled changing smoke parameters when smoke is baked.

Note to users: The unfortunate side effect of this is that old high resolution simulations have to be baked again, but in return you get much better and more logical functionality. Sorry none the less!
2010-11-30 21:31:18 +00:00
5d0b3a5230 Smoke domain resolutions were calculated wrong for non-cube domains in some cases. 2010-11-25 22:13:40 +00:00
513f0142fb Fix for [#19706] Smoke 'sticks' to Collision objects initial position
* Smoke got emitted inside collision cells, so it got stuck there.
2010-11-23 14:40:27 +00:00
4aeeee8819 Cached smoke wasn't being drawn on file load before going to simulation start frame. 2010-11-23 14:04:05 +00:00
c69bc46c98 Smoke now uses the start and end of cached data properly when outside the cached frame range.
* Patch by MiikaH.
2010-11-11 17:59:52 +00:00
210915e3c7 Fix for items 3 and 8 of [#24443] Trying to bake a smoke simulation crashes blender, and other smoke bugs. 2010-10-30 08:51:50 +00:00
fec8292df1 remove unused args for some modifiers, no functional change. 2010-10-21 01:10:22 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
da4b54cd5d Fix #23540: smoke preview shading only used point lamps, now it uses other
lamps to if no point lamp is available.
2010-09-30 20:19:54 +00:00
8bc0cfc1ca Fix: Smoke wasn't using pointcache properly.
* The cache was reset almost constantly because smoke didn't save the first frame into cache. Although not necessary for smoke, it's vital to pointcache.
* Added info message to smoke cache panel for non saved files.
* Now smoke also only updates with a framestep of 1, so that scrubbing the timeline doesn't mess up the simulation.
* Among other things fixes report #23731.
2010-09-27 12:24:12 +00:00
74f060bfe5 Fix for [#23729] Smoke / Edit Mode bug 2010-09-13 11:14:12 +00:00
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
96b138d98b added include for offsetof(), also use <string.h>, not "string.h" 2010-08-13 15:26:37 +00:00
0be152501e Smoke:
- Bugfix for not cleared smoke sim when doing alt-a and waiting for 2 sim cycles to complete
2010-08-01 15:00:53 +00:00
c34f831757 Smoke:
- Bugfix for display problems in shaded view: Reverting to wire display mode for domain.
2010-08-01 12:16:32 +00:00
112711e6a4 Smoke:
- Bugfix for using uninitalised velocity in case of PART_PHYS_NO (reported by MiikaH)
2010-07-27 16:18:12 +00:00
78e5a29990 Smoke:
- Fix typo in tooltip
- Add timeframe independand timesteps
2010-07-27 15:33:21 +00:00
967d25ac1c Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations. 2010-07-27 14:53:20 +00:00
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
2798852903 Fix:
[#22310] Duplicate Does Not Propogate SimpleDeform's VGroup
[#22321] duplicating object with smoke settings doesnt duplicate smoke settings

^ Genscher, you may want to check that but I thought it was pretty straightforward.
2010-05-14 07:09:15 +00:00
2d4d820b97 3dview --> view3d, patch by Jonathan Smith with small corrections and changes. 2010-04-28 07:25:39 +00:00
68fb0d98d9 Smoke:
* Bugfix for missing high res calculation when low res cache was already there
* Bugfix for loading file with smoke but tfor the first "round" of alt-a nothing happened. Now the smoke gets calculated on file load, too.
2010-04-01 14:44:31 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
df7b696b73 Big cleanup of particle system core, also some minor pointcache cleanup. Shouldn't contain any functional changes. 2010-03-21 20:36:06 +00:00
8252fa5a16 Fix smoke looking black in the viewport when compiling with -ffast-math.
(memset works on byte level and bytes -1,-1,-1,-1 = NaN).
2010-03-12 14:42:03 +00:00
71003b9bcc merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though further work may be needed because changes made by the merge 2010-03-09 04:32:40 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
83dfade37a Smoke: The well known Miika Hämäläinen (aka MiikaH) patch (http://blenderartists.org/forum/showthread.php?t=158317&page=42)
* Better (and windows enabled) OpenMP handling (> 2x-5x speed)
* More Volumetric Texture mapping options (heat, etc) <-- Matt if that's not to your liking, just revert that part, it's separate anyway
* Initial velocity taken from particle settings (no more slow starting)
* Option to select compression method (there seem to be a bug in my high compression usage, at least it's been reported to result in exploding smoke - better use low compression for the time being)

It's been tested since a while but as usual please report any (new!) bugs. ;-)
2010-01-25 15:10:14 +00:00
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
2ead17843c merge with trunk/2.5 at r24378 2009-11-07 23:10:18 +00:00
2d0d4e7de4 commit before doing some hefty shapekey change, will break compilation 2009-11-01 00:06:53 +00:00
099438f087 Smoke:
* Bugfix for crash when deleting particle system used by Smoke Flow modifier (reported by nudelZ).
2009-10-29 19:26:13 +00:00
8f788c64db merge with trunk/2.5 at r23876
[[Split portion of a mixed commit.]]
2009-10-22 23:22:05 +00:00
2d7587bf0c Smoke:
*Should fix crash with collision objects
2009-10-17 22:34:40 +00:00
e936c80985 Smoke:
* Bugfix for non initialized arrays (reported by nudelZ)
2009-10-08 15:19:57 +00:00
14f62c1321 Smoke:
* Enable external forces like e.g. wind
2009-10-08 10:18:14 +00:00
625da05e3a Smoke:
* Fix loading issue of blend files with smoke collision objects (was disabled on purpose since it will be subject of change, but can be solved using do_versions() later)
2009-10-02 14:40:51 +00:00
fbb47e8604 Smoke:
* Dissolve is back
* Obstacles coming back (some bugs left i think)
2009-10-02 11:09:05 +00:00
bff893a420 Unified effector functionality for particles, cloth and softbody
* Unified scene wide gravity (currently in scene buttons) 
  instead of each simulation having it's own gravity.
* Weight parameters for all effectors and an effector group 
  setting.
* Every effector can use noise.
* Most effectors have "shapes" point, plane, surface, every point.
	- "Point" is most like the old effectors and uses the 
	  effector location as the effector point.
	- "Plane" uses the closest point on effectors local xy-plane 
	  as the effector point.
	- "Surface" uses the closest point on an effector object's 
	  surface as the effector point.
	- "Every Point" uses every point in a mesh effector object 
	  as an effector point.
	- The falloff is calculated from this point, so for example 
	  with "surface" shape and "use only negative z axis" it's 
	  possible to apply force only "inside" the effector object.
* Spherical effector is now renamed as "force" as it's no longer 
  just spherical.
* New effector parameter "flow", which makes the effector act as 
  surrounding air velocity, so the resulting force is 
  proportional to the velocity difference of the point and "air 
  velocity". For example a wind field with flow=1.0 results in 
  proper non-accelerating wind.
* New effector fields "turbulence", which creates nice random 
  flow paths, and "drag", which slows the points down.
* Much improved vortex field.
* Effectors can now effect particle rotation as well as location.
* Use full, or only positive/negative z-axis to apply force 
  (note. the z-axis is the surface normal in the case of 
  effector shape "surface")
* New "force field" submenu in add menu, which adds an empty 
  with the chosen effector (curve object for corve guides).
* Other dynamics should be quite easy to add to the effector 
  system too if wanted.
* "Unified" doesn't mean that force fields give the exact same results for 
  particles, softbody & cloth, since their final effect depends on many external 
  factors, like for example the surface area of the effected faces.

Code changes
* Subversion bump for correct handling of global gravity.
* Separate ui py file for common dynamics stuff.
* Particle settings updating is flushed with it's id through 
  DAG_id_flush_update(..).
  
Known issues
* Curve guides don't yet have all ui buttons in place, but they 
  should work none the less.
* Hair dynamics don't yet respect force fields.

Other changes
* Particle emission defaults now to frames 1-200 with life of 50 
  frames to fill the whole default timeline.
* Many particles drawing related crashes fixed.
* Sometimes particles didn't update on first frame properly.
* Hair with object/group visualization didn't work properly.
* Memory leaks with PointCacheID lists (Genscher, remember to 
  free pidlists after use :).
2009-09-30 22:10:14 +00:00
deebf4f8f0 merge with 2.5/trunk at r23271 2009-09-16 17:43:09 +00:00
0a8fa9ff70 Smoke:
* This should make low res bake too if high res gets baked
2009-09-15 16:05:59 +00:00
86b474a344 made subsurf object mode conversion faster, though still needs a bit more work 2009-09-15 15:32:09 +00:00
c8618348e0 Smoke:
* Less verbose
* More OpenGL error messages (on blender -d)
2009-09-15 10:26:36 +00:00
c6107e0c76 Smoke:
* Only simulate smoke when starting from startframe
2009-09-14 17:22:51 +00:00
ba5df38d66 use static functions where possible for some local functions. 2009-09-14 16:52:06 +00:00
ce70ed260b Smoke:
* Bugifx for no shadow on startframe when loaded from cache
2009-09-14 10:21:41 +00:00
9f5e42ff76 Smoke:
* Totally new try to get cache running
* Didn't try "bake" and such things yet

Hint
* Very verbose yet
* Please do only test new blend files, not old ones!

Please give me feedback on my blog about the old crashers.
2009-09-14 00:01:08 +00:00
d16bde417f new struct PathPoint for each path element (replaces float[4]), Paths now store radius and quaternion
Added optional quat and radius args to anim.c's where_on_path(...), currently unused.

also cleanup some warnings.
2009-09-12 14:12:37 +00:00
e8b3f86bcb Smoke:
* Bugfix for non-working high res display
* Bugfix for smoke disappearing on 2nd frame
2009-09-09 23:52:48 +00:00