Commit Graph

890 Commits

Author SHA1 Message Date
Campbell Barton
1d73ee50a4 solidify modifier: thickness clamping helps prevent self intersections when there are small details on a larger model. 2013-03-13 17:31:26 +00:00
Howard Trickey
604bdb7f45 Fix bevel modifier bug #34611, limit bevel amount needed.
This is a quick fix that perhaps overestimates the point
of first geometry collision, but at least for now it should
allow models that used the old modifier and a too-big
bevel amount to not look awful.

The correct solution to this problem is much more involved
and I'll get to it later.
2013-03-13 14:08:12 +00:00
Campbell Barton
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
Campbell Barton
1d5b7bc1f7 fix for typo in skin modifier that resulted in incorrect vertex weights. 2013-03-08 04:31:21 +00:00
Campbell Barton
c36f20a7d2 style cleanup 2013-03-08 04:00:06 +00:00
Antony Riakiotakis
53b7bc8f1f Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It is
always used in that context so we can at least avoid reverting it twice
:p.
2013-03-06 20:55:04 +00:00
Campbell Barton
70e1b8d1d2 fix for error building on big-endian. 2013-03-06 16:56:28 +00:00
Daniel Genrich
15c524e416 Bugfix [#34519] deleted cache after duplicating an object with baked simulation 2013-03-05 22:58:13 +00:00
Campbell Barton
b390192b70 code cleanup: de-duplicate cast modifier logic, had 'optimization' which was only saving a NULL check per loop, causing most of the logic to be copied, ~130 lines. 2013-03-03 05:43:47 +00:00
Brecht Van Lommel
4f3ca854e1 Fix various warnings with clang build, and adjust cmake clang warnings flags
to include a few more that gcc is using too.
2013-02-26 21:58:06 +00:00
Campbell Barton
8033834573 fix own regression since 2.65 [#34438] Solidify crease bug 2013-02-26 14:32:53 +00:00
Brecht Van Lommel
3862e757d0 Fix #34358: shrinkwrap modifier project along normal did not work correctly
after other modifiers. It needs normals and those were not calculated.
2013-02-23 20:23:59 +00:00
Howard Trickey
0a6e8a41b9 Enable new bevel tool code in bevel modifier.
Now modifier takes a segments parameter.
Bevel edge weights will multiply the overall amount.
For vertex-only, you can give a vertex group name,
and the weights in that will multiply the overall amount.
2013-02-21 17:29:35 +00:00
Sergej Reich
e3944f5bfa Divide by 3 instead of multiplying by variations of 0.333
Fixes small precision problems.
2013-02-14 17:35:43 +00:00
Campbell Barton
86793fec42 fix [#34198] Scene unit size and dyntopo detail size
there were 2 bugs here.
- int buttons scaling values on input but not on display.
- pixel distances were using PROP_DISTANCE subtype - which isn't correct.

added assert incase PROP_INT values have PROP_DISTANCE subtype applied in future.
2013-02-12 05:09:35 +00:00
Campbell Barton
631f49d128 fix for own regression [#34096] ocean sim vertex color bug
Caused by my assumption that alpha wasn't used for vertex colors.

Infact it is used by blender-internal rendering, but typically only for blending strand particles.
Updated comments to note this.
2013-02-12 01:52:55 +00:00
Sergey Sharybin
fdfa5910b5 Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashes
Issue was caused by couple of circumstances:

- Normal Map node requires tesselated faces to compute tangent space
- All temporary meshes needed for Cycles export were adding to G.main
- Undo pushes would temporary set meshes tessfaces to NULL
- Moving node will cause undo push and tree re-evaluate fr preview

All this leads to threading conflict between preview render and undo
system.

Solved it in  way that all temporary meshes are adding to that exact
Main which was passed to Cycles via BlendData. This required couple
of mechanic changes like adding extra parameter to *_add() functions
and adding some *_ex() functions to make it possible RNA adds objects
to Main passed to new() RNA function.

This was tricky to pass Main to RNA function and IMO that's not so
nice to pass main to function, so ended up with such decision:

- Object.to_mesh() will add temp mesh to G.main
- Added Main.meshes.new_from_object() which does the same as to_mesh,
  but adds temporary mesh to specified Main.

So now all temporary meshes needed for preview render would be added
to preview_main which does not conflict with undo pushes.

Viewport render shall not be an issue because object sync happens from
main thread in this case.

It could be some issues with final render, but that's not so much
likely to happen, so shall be fine.

Thanks to Brecht for review!
2013-02-05 12:46:15 +00:00
Campbell Barton
e7cead0994 own recent change to triangulate bmesh operator stopped filling in mapping slot 'face_map.out', not used by blender its self but useful for scripts, enable this again. 2013-02-05 11:30:50 +00:00
Campbell Barton
37489d71c7 Triangulate modifier no longer uses bmesh operator api call, instead add a BM_mesh_triangulate() function. Gives ~2x speedup in my tests on an optimized build. 2013-01-29 10:31:05 +00:00
Campbell Barton
5c9d1ec080 fix for mesh-cache modifier deform-integration used with axis-flipping would fail. 2013-01-24 14:36:02 +00:00
Campbell Barton
c65c1958bd code cleanup: minor edits to mesh-cache formatting. 2013-01-24 05:54:17 +00:00
Campbell Barton
296f91c4cc add 'deform - integrate' option to mesh-cache,
This means the deformation on the input to the modifier can be re-applied ontop of the mesh cache.

In practice this is most useful for using corrective shape-keys with mesh-cache.
2013-01-24 04:02:30 +00:00
Campbell Barton
936b82802a add bullet define & include for scons makesrna, also move meshcache utils into own file. 2013-01-24 02:14:39 +00:00
Thomas Dinges
456a2d9de7 Fix for [#33959] laplacian smooth gui buggy
* Made the property UI range do bigger steps.
* Increased default values a bit. If people need extreme small values (0.00001) they can enter that manually.
2013-01-23 14:19:01 +00:00
Campbell Barton
69ddc5eb99 make bullet optional again 2013-01-23 07:26:39 +00:00
Campbell Barton
281e094e16 workaround [#32866] Crash by cyclic use of Boolean Modifier
officially - modifiers shouldn't calc other objects derived mesh, but in some cases its needed at the moment for certain scenes, so just disallow booleans depending on booleans.
2013-01-23 05:42:45 +00:00
Sergej Reich
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
Campbell Barton
3406bafc59 comments for RNA_def_property_ui_range() and clamp some out-of-range values. 2013-01-22 11:23:05 +00:00
Alexander Pinzon
044e3398b9 Improved performance for multiple iterations, keeping the same laplacian matrix. 2013-01-21 19:33:58 +00:00
Campbell Barton
d760a86927 code cleanup: minor changes, replace len_v3 with len_squared_v3 for comparison. 2013-01-21 18:45:31 +00:00
Campbell Barton
8cde4e5182 add an influence slider to mesh cache. 2013-01-21 16:43:04 +00:00
Campbell Barton
caac27dcbc mesh-cache deform modifier,
supports MDD and PC2 formats.

see wiki docs:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Deform/Mesh_Cache
2013-01-21 15:41:00 +00:00
Sergey Sharybin
86991fbcb0 Fixed render time regression in Blender Internal
It was caused by image threading safe commit and it was noticeable
only on really multi-core CPU (like dual-socket Xeon stations), was
not visible on core i7 machine.

The reason of slowdown was spinlock around image buffer referencing,
which lead to lots of cores waiting for single core and using image
buffer after it was referenced was not so much longer than doing
reference itself.

The most clear solution here seemed to be introducing Image Pool
which will contain list of loaded and referenced image buffers, so
all threads could skip lock if the pool is used for reading only.
Lock only needed in cases when buffer for requested image user is
missing in the pool. This lock will happen only once per image so
overall amount of locks is much less that it was before.

To operate with pool:
- BKE_image_pool_new() creates new pool
- BKE_image_pool_free() destroys pool and dereferences all image
  buffers which were loaded to it
- BKE_image_pool_acquire_ibuf() returns image buffer for given
  image and user. Pool could be NULL and in this case fallback to
  BKE_image_acquire_ibuf will happen.

  This helps to avoid lots to if(poll) checks in image sampling
  code.

- BKE_image_pool_release_ibuf releases image buffer. In fact, it
  will only do something if pool is NULL, in all other case it'll
  equal to DoNothing operation.
2013-01-21 08:49:42 +00:00
Campbell Barton
162c331417 style cleanup 2013-01-19 06:12:25 +00:00
Campbell Barton
ee0eb394c9 use openmp sections for felling origindex arrays 2013-01-18 06:26:06 +00:00
Alexander Pinzon
9e8c509213 The problem of the peaks is corrected with the use of the normalized version. 2013-01-17 19:19:02 +00:00
Campbell Barton
3f647ed6af code cleanup: double, float - conversion warnings. 2013-01-16 23:07:24 +00:00
Campbell Barton
5ddc7d64a8 optimize bmesh operations that use triangle BMFace's (dyn-topo and mesh conversion). 2013-01-16 21:09:54 +00:00
Alexander Pinzon
f1cd290e08 Shape enhanced method exaggerates a shape using a Laplacian smoothing operator in the reverse direction.
http://wiki.blender.org/index.php/User:Apinzonf/shape_enhanced
2013-01-16 19:38:50 +00:00
Brecht Van Lommel
d0621c1dae Fix #33863: cycles viewport render crash entering edit mode on an object with
a subsurf modifier.
2013-01-14 16:05:47 +00:00
Campbell Barton
08358a60b0 style cleanup 2013-01-08 01:48:14 +00:00
Campbell Barton
b94a5d59bf fix [#33742] Solidify - Material index problem
missed copying material offset values.
2013-01-04 08:17:09 +00:00
Campbell Barton
c7b7cba238 code cleanup: warnings 2013-01-04 02:13:29 +00:00
Campbell Barton
8ca977b16e change limited dissolve angle limit default from 15 -> 5 deg. since 15deg is quite high for 2 surfaces to be considered co-planar 2013-01-03 08:09:57 +00:00
Campbell Barton
d8d24bdebd fix [#33682] Animation not updated when the active shape index isnt set 2013-01-03 06:47:44 +00:00
Bastien Montagne
dadb1ccd92 Fix [#33189] AFTER 2.65 - Units in doc strings in ocean modifier.
Also:
* Fixes a (op prop) bug which prevented, once you had baked and freed ocean once, to bake again.
* Fixed infinite values of acumulated foam when baking with foam_fade values above 1.0, now simply clipping accumulated foam value to 1.0, as already done for the "instantaneaous" foam value returned by BKE_ocean_jminus_to_foam().
* Added missing RNA descriptions.
* Made foam_fade unanimatable!
* Added in UI some missing properties that are imho useful: random seed, size (kindof 'surface scaling'), and foam_fade (baking only).
* Removed custom lerp() func from bke's ocean.c, BLI's interpf does exactly the same thing (the first two args are just in reversed order). Note: this could most certainly be done in other parts of the code, bpy's mathutils for e.g. has its own linear interpolation code for vectors and matrices :/).
* Did some general code cleanup (mostly line length and no C++ -> C comments)...
2013-01-02 16:03:58 +00:00
Campbell Barton
4a427d8e0d style cleanup 2012-12-29 01:54:58 +00:00
Howard Trickey
4e5d5e0d84 Add 'vertex_only' option to bevel tool.
Right now, changing segments to > 1 doesn't do anything,
but intend to work on making that cause rounded corners.
2012-12-28 02:45:10 +00:00
Campbell Barton
9090049505 code cleanup 2012-12-23 16:09:26 +00:00
Bastien Montagne
b481ec92e4 Minor tweaks to some UI messages... 2012-12-17 20:16:37 +00:00