Commit Graph

63 Commits

Author SHA1 Message Date
Sergey Sharybin aa4cb95a5c Pass proper bmain to the updateDepgraph() of modifiers
This is mainly to make physics modifiers being able to work
with it. For other cases this main is not needed.
2015-03-13 12:03:23 +05:00
Campbell Barton 4ca67869cc Code cleanup: remove unused includes
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
Campbell Barton 158b4e61a0 Mesh Modifiers: refactor copying using a generic function 2013-12-22 04:37:26 +11:00
Sergey Sharybin ce741bc223 Code cleanup: de-duplicate implementation of get_texture_value
Expect to be no functional changes :)
2013-10-20 13:01:07 +00:00
Campbell Barton 922320f86e fix own regression [#36154] Simple deform modifier doesn't recalculate normals
get_cddm and get_dm are called within modifiers so they wont ensure normals are valid, added an arg to optionally ensure valid normals.
2013-07-16 08:24:53 +00:00
Sergey Sharybin 1dd7156c4c Fix #36058: Displace Modifier errors using a baked Image and displace baking inconsistency between 2.67/2.68RC and previous versions
This was in fact really nasty bug, caused by multitex_nodes
function using global variable R (which is a copy of current
renderer). this variable is not initialized to anything
meaningful for until first rendering (preview or final)
happened.

Since multitex_nodes might be used outside of render pipeline,
made it so whether CM is on or off as an argument to functions
multitex_ext_safe and multitex_ext. Now multitex_nodes() is
only shall be used for stuff happening from render pipeline!

Also needed to make some changes to other places, so all the
usages of texture sampling knows for the fact whether CM is
on or off.

And one more change is related on behavior of dispalcement,
wave, warp, weightvg modifiers and smoke. They'll be always
using CM off since texture is used for influence, not for
color.

It's rather bigger patch, but it's mostly straightforward
changes, which we really need to be done.

Reviewed by Brecht, thanks!
2013-07-15 14:47:58 +00:00
Sergey Sharybin bfbac9b448 Fix #35678: Duplicating an object with Displace modifier does not increase the reference count of the texture 2013-06-10 14:04:03 +00:00
Campbell Barton e648ca8862 use booleans for modifiers and api callbacks. 2013-06-02 03:59:19 +00:00
Campbell Barton ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
Campbell Barton 65dbeabdc6 style cleanup: indentation, also quiet double promotion warnings for despeckle node. 2012-08-23 16:17:47 +00:00
Campbell Barton 626e6cf99e skip allocating texture coords for the displace modifier when they are unused. 2012-08-18 11:48:35 +00:00
Campbell Barton 27a8487070 style cleanup: pep8 & unfinished comment from own commit. 2012-08-14 18:43:15 +00:00
Campbell Barton 3220ef9d95 patch [#32327] Uniform displace modifier
from Fredrik Hansson (fredrikh)

With some edits for python UI.
The patch makes the displace modifier treat an empty texture as white.
2012-08-14 17:36:41 +00:00
Bastien Montagne 318b44fe5d Refactor of modifiers' apply function: now use a single bit-flag parameter to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag!
Should have no effect over modifier behavior.
2012-05-09 15:00:26 +00:00
Campbell Barton 3d8e58751c style cleanup: modifiers 2012-05-06 13:38:33 +00:00
Campbell Barton 5da2135eef code cleanup: double promotion & some style cleanup 2012-05-03 21:35:04 +00:00
Campbell Barton b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
Brecht Van Lommel 5eca59cf0d Fix #30882: using an image sequence in the displace modifier did not update
properly in animation rendering.
2012-04-10 14:11:45 +00:00
Campbell Barton 5a90ea77bc style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:24:53 +00:00
Campbell Barton 31d2ee9bf7 style cleanup, brackets in else/if, some indentation. 2012-03-06 18:40:15 +00:00
Campbell Barton a7b0a11811 svn merge ^/trunk/blender -r43278:43294 2012-01-11 15:04:54 +00:00
Sergey Sharybin 51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
Campbell Barton c174f5682c syncing modifiers with trunk - only small changes 2011-12-29 04:04:27 +00:00
Campbell Barton e59ab6486f svn merge -r41751:41779 ^/trunk/blender 2011-11-15 02:05:32 +00:00
Campbell Barton e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
Campbell Barton 15e6d6cd75 svn merge ^/trunk/blender -r41226:41227 . 2011-10-24 12:43:08 +00:00
Campbell Barton 4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Campbell Barton effea8c29b svn merge ^/trunk/blender -r40511:40587 2011-09-27 03:12:31 +00:00
Campbell Barton 58587a3881 replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
2011-09-26 18:51:10 +00:00
Campbell Barton 55a560c0c4 svn merge -r39286:39385 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-16 06:30:14 +00:00
Brecht Van Lommel c265a686d8 Modifiers: add callback to loop over each texture assigned to a modifier. 2011-08-12 18:11:22 +00:00
Campbell Barton 794f3291fe svn merge -r38200:38300 https://svn.blender.org/svnroot/bf-blender/trunk/blender, source/blender/gpu/intern/gpu_buffers.c updated from trunk and re-made edits to use getTessFace* functions. 2011-07-26 03:00:55 +00:00
Campbell Barton cc0abf9963 svn merge -r37900:38000 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-07-25 16:12:54 +00:00
Brecht Van Lommel 9fb2e5dde7 Fix #27930: many modifiers crashed when used on a lattice with a vertex group. 2011-07-11 09:15:20 +00:00
Campbell Barton bad785cce4 minor edits, no functional change. 2011-06-30 01:40:20 +00:00
Campbell Barton 35cbb3ed49 svn merge -r36840:36890 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-05-31 02:55:29 +00:00
Nathan Letwory a751c48b5f clamp delta to prevent cases where strength is a huge number. Very high values would lead to scale problems of objects. 2011-05-24 11:20:33 +00:00
Campbell Barton b93594bf30 quiet more compiler warnings, also found a bug using printf rather then fprintf. 2011-05-09 05:09:07 +00:00
Joseph Eagar 6ef77cf95a =bmesh= merge from trunk at r36529 2011-05-08 23:43:18 +00:00
Campbell Barton 6b0d932c0d warp modifier, added in the render branch for durian.
simple modifier, almost like a hook, except it can deform with 2 object source -> target, has option to preserve rotation and use different falloff types.
2011-05-01 15:16:59 +00:00
Joshua Leung 8fec90e220 Displace Modifier - Optimisation Tweaks for jpbouza and ZanQdo
- When strength is 0, there's no need to perform any of the
calculations at all
- When the vertexgroup weight for a vert is set to 0, skip evaluating
the modifier for that vertex as it should result in no-change to the
final result
2011-04-25 06:27:32 +00:00
Joseph Eagar 489eaaa46d =bmesh= build modifier works now, also made scanfill thread-safe 2011-04-16 23:58:49 +00:00
Joseph Eagar c98148a963 =bmesh= merge from trunk at r36153 2011-04-15 01:19:13 +00:00
Campbell Barton c7fccc84bf use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf & editors. 2011-03-05 10:29:10 +00:00
Joseph Eagar f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
Nathan Letwory caa7bea1c5 doxygendoxygen: blender/modifiers tagged. 2011-02-25 13:57:17 +00:00
Sergey Sharybin 329e2d8037 Todo issue: sculpting on deformed mesh
Used a crazyspace approach (like in edit mode), but only modifiers with
deformMatricies are allowed atm (currently shapekeys and armature modifiers only).
All the rest modifiers had an warning message that they aren't applied because
of sculpt mode. Deformation of multires is also unsupported.

With all this restictions users will always see the actual "layer" (or maybe
mesh state would be more correct word) they are sculpting on.

Internal changes:
- All modifiers could have deformMatricies callback (the same as deformMatriciesEM but
  for non-edit mode usage)
- Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it
  could be generalized for usage in other painting modes (particle edit mode, i.e)

Todo:
- Implement crazyspace correction to support all kinds of deformation modifiers
- Maybe deformation of multires isn't so difficult?
- And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed
  without code duplicating?
2011-01-31 20:02:51 +00:00
Campbell Barton 89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
Campbell Barton 8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
Ton Roosendaal 0efdb860f1 Bugfix #22982
Displace modifier: mapping "Global" didn't set a dependency entry.
Fix provided by the reporter himself, thanks Jacob F!
2010-12-15 13:08:34 +00:00