Commit Graph

682 Commits

Author SHA1 Message Date
a1138d2500 recent changes to particle normal orientation change behavior in a way you might not want (even though in general I think its an improvement).
split this into 2 options, added 'Normal-Tangent' orientation that makes the mesh orient towards the tangent, otherwise it uses Z-Up as before.
2013-07-14 10:57:43 +00:00
18cf21bbfe fix relating to [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation
With deformations and on a simple cube you could get axis flipping with normal-particle alignment.
now use the normal & tangent to create the orientation to give a stable matrix that wont flip.
2013-07-14 07:27:44 +00:00
ce172d60ce fix [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation 2013-07-12 08:41:27 +00:00
32e917be8d correct typo in previous commit & minor changes. 2013-07-05 00:13:14 +00:00
a30dc7c74e Fix #35966: remesh modifier + particle use modifier stack option did not work
well together.
2013-07-02 19:17:34 +00:00
454d6e0207 Fix particle hair display percentage not properly getting restored after
rendering. This used to happen in an unneeded frame change update which was
removed. For heavy particle systems this could have a bad impact on viewport
performance after rendering.
2013-06-24 22:41:40 +00:00
c498a8f2b4 fix [#35544] Boids Segfault of frame advance using cursor keys
caused by partial revert of r56073.
2013-05-27 22:25:54 +00:00
bb15701f86 Particles: patch #35205 by Jakub Zolcik
The Emission panel now has a Use Modifier Stack option to emit particles from
the mesh with modifiers applied. Previously particles would only be emitted from
faces that exist in the original mesh. There are some caveats however:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.68/Tools#Particles
2013-05-27 17:11:05 +00:00
0abe993435 Fix #35407: different particle behavior compared to 2.66, reverted part of 56073. 2013-05-19 04:07:01 +00:00
a07dcd67eb Fix #35240: command line -t number of threads option did not work for cycles.
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
2013-05-08 13:23:17 +00:00
319036f2d5 fix [#35026] Curve build modifier 2013-04-22 12:00:37 +00:00
afb4b65167 Random number generator: replace a bunch of usage of the global random number
generator with a local one. It's not thread safe and will not give repeatable
results, so in most cases it should not be used.

Also fixes #34992 where the noise texture of a displacement modifier was not
properly random in opengl animation render, because the seed got reset to a
fixed value by an unrelated function while for final render it changed each
frame.
2013-04-15 23:12:40 +00:00
e8d532f1dd style cleanup 2013-03-31 03:28:46 +00:00
Alex Fraser
4e73ff0d63 Fix for [#34099] Particles leaking from moving meshes
This was caused by a floating point precision error. During collision detection, Newton-Raphson iteration is used to find the exact time of the collision. But when using subframes, the initial Newton step was too small. Now the initial step is given in absolute units. When subframes = 0, this should behave almost the same as before.

Thanks to Janne Karhu, Lukas Toenne and Ton Roosendaal for their help with this patch, and to AutoCRC for funding.
2013-02-19 02:24:52 +00:00
e3944f5bfa Divide by 3 instead of multiplying by variations of 0.333
Fixes small precision problems.
2013-02-14 17:35:43 +00:00
8b8d4ba7ef sim: Remove "continue physics" code
This was left over from 2.4x days and is not used anymore.
Now simulations are always interactive.
2013-01-22 20:47:03 +00:00
Alex Fraser
17c428d4df Changing units of stiffness parameter in classical (new) SPH solver: used to be speed of sound squared; now just speed of sound.
The classical SPH solver was not in 2.65, so this change is unlikely to affect many users. But beta users who have been trying it out will need to change the stiffness parameter to sqrt(old value).
2013-01-11 03:06:10 +00:00
Alex Fraser
61833ddd5a Fix own mistake in SPH solver selection. Thanks Campbell for pointing it out. 2013-01-11 02:03:22 +00:00
Alex Fraser
59ef68cd9a Fix for [#33788] Particles - Fluid "exploding" behavior
Particle mass was being used incorrectly by DDR solver (my fault).
2013-01-08 04:28:44 +00:00
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
e72239c6a4 style cleanup 2012-12-18 01:52:18 +00:00
899ba3fdb6 style cleanup 2012-12-18 01:46:15 +00:00
bb26d80ad8 code cleanup and move alternate shell calculation method into its own function: BM_vert_calc_shell_factor_ex 2012-12-14 16:10:46 +00:00
Alex Fraser
f276b3a3cd Adding a new SPH solver that is more physically accurate. See patch #29681
http://projects.blender.org/tracker/index.php?func=detail&aid=29681&group_id=9&atid=127

The solver was mostly implemented by John Mansour at VPAC, with help from me and with funding from the AutoCRC. The SPH formulation is due to Gingold and Monaghan, and the smoothing kernel is due to Wendland.

This solver does not replace the old one; it is available as an option. Note that the new solver uses different units than the old one. The patch page has a couple of attachments that can be used to test the new solver, particularly sphclassical_dam_s0.01_grav.blend (ignore the earlier tests). The simulation in that file compares well with a physical experimental dam break; details in a paper by Changhong Hu and Makoto Sueyoshi, also referred to on that page.
2012-12-14 04:57:26 +00:00
Alex Fraser
9a848c1a9d Can now set a lower bound on the number of subframes (i.e. an upper bound on the time step size) for fluid simulations. Previously, the "subframes" parameter was not available when the adaptive time step was enabled; now they can both be set. The two settings can be used together to greatly increase simulation stability. 2012-12-12 22:42:55 +00:00
818a345be3 Silent a bunch of gcc warnings (usually dummy, but noisy!). 2012-12-02 16:01:06 +00:00
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
14dea2c5bf fix for own error in recent orig-index refactor (reported as [#33112]) 2012-11-07 11:37:53 +00:00
fae6c35ca7 code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few files since its done throughout the code in some places. 2012-11-04 07:18:29 +00:00
00acdb6292 remove CD_POLYINDEX customdata layer:
reported as [#29376] BMESH_TODO: remove tessface CD_ORIGINDEX layer

for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces.
(CD_POLYINDEX and CD_ORIGINDEX).

as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on
the same derived mesh, and polygons only store the original index values.
2012-10-30 19:20:17 +00:00
aeba4950c3 style cleanup 2012-10-27 10:42:28 +00:00
9055ec3e0a Final fix for [#31017] Particles not generated on Grid Distribution
* In some cases a quad would be intersected twice so particles near this double-intersection point were not generated in grid distribution due to being marked as outside the surface.
2012-10-24 01:43:59 +00:00
101660c809 code cleanup: give rng functions BLI prefix. 2012-10-23 13:50:44 +00:00
ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
bc8f602601 style cleanup 2012-10-20 18:46:57 +00:00
aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
60a5e05a4d Fix #32625 Zero area-sized faces caused jittered part. distrib. to crash
When appling a particle system to a face whose area size is zero,
the jitter distribution failed. fmod() produces a NaN value in this
case. This commit simply checks if the jitter offset (I guess that is
"jitoff" means) and only call psys_uv_to_w() if it's a real floating
point number.
2012-09-23 17:50:51 +00:00
e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
f0951f58ca code cleanup: rename G.afbreek --> is_break, G.rendering --> is_rendering 2012-08-08 18:37:06 +00:00
9c714f695a fix for particle system using uninitialized stack memory with midpoint of rk4 integrators. 2012-07-17 13:28:30 +00:00
6f0950a1f4 use math vector init functions 2012-07-17 12:05:15 +00:00
8ce53a2a98 new mask rasterizer written to take advantage of the compositors threading, mostly functional but disabled by default (still a little wip). 2012-07-12 20:10:41 +00:00
592196cb70 Revert the DNA pdef_stickness -> pdef_stickiness part of r48556.
Forgot DNA needed stable names... :/ Correct spelling would involve keeping the old one for load code anyway, so better live with incorrect spelling here.
2012-07-04 07:35:54 +00:00
37dc4006c7 First load of spell and typo fixes (mostly UI messages, but also one or two pieces of code using mis-spelled names). 2012-07-03 17:20:21 +00:00
f5f25b81e8 style cleanup:
also fix for building ghost test and fix double free in one of the tests
2012-06-17 09:58:26 +00:00
d5032657ed style cleanup 2012-06-06 22:38:39 +00:00
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
Lukas Toenne
666667bd83 Fix #29846, Dynamic rotation of particles not affected by forcefields 2.61 64 bit. Patch by Arno Mayrhofer (azrael3000).
Minor fix by me to initialize the effector point angular velocity vector correctly.
2012-05-28 16:58:12 +00:00
da710b3e14 style cleanup: brace placement/newlines 2012-05-24 16:35:45 +00:00