Commit Graph

7848 Commits

Author SHA1 Message Date
Campbell Barton
84bf3e48c0 style cleanup: use c style comments in C code 2012-07-06 23:56:59 +00:00
Campbell Barton
3a0593cc3d code cleanup: dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly.
also added some comments.
2012-07-06 22:48:28 +00:00
Chris Want
16b165eed5 Fix for bug 32017.
There was some bad recursion introduced recently that caused crashes
when a Material node is the same material as the material itself (e.g.,
if Material.001 has a node with Material.001).

This commit attempt to correct this by keeping track of the material
at the root of the node tree, and doesn't recurse further if it
encounters it again within the nodetree.

Joshua, please review!
2012-07-06 16:55:35 +00:00
Bastien Montagne
b0598a203c Cosmetic updates to mesh validate messages. 2012-07-05 13:02:42 +00:00
Campbell Barton
b5135a8bdf fix for making local loosing references to node groups.
node->id was left as an indirect link which wont get saved with the file.
2012-07-05 12:50:50 +00:00
Campbell Barton
21bf13989f code cleanup: remove Python.h include from blenkernel. 2012-07-04 20:13:39 +00:00
Daniel Genrich
958cf139f6 Bugfix Smoke / DynamicPaint: Missing update call from depsgraph was missing when force fields were used. 2012-07-04 16:55:17 +00:00
Bastien Montagne
4149ea5f50 Last spell checking (for now).
Only mysterious courant from bpy.types.ParticleSettings.courant_target reamins...
2012-07-04 15:52:07 +00:00
Bastien Montagne
558721ab59 More spell checking. 2012-07-04 15:04:38 +00:00
Campbell Barton
715edceb42 spelling cleanup: metre -> er 2012-07-04 12:56:58 +00:00
Bastien Montagne
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
Sergey Sharybin
facc2429ab Mask node: create a copy of layers to be rasterized in initExecution
This creates a list of splines to be rasterized in nitExecution which
is being called from main thread. This should resolve possible threading
issues discovered in tomato branch.
2012-07-04 07:10:23 +00:00
Bastien Montagne
468ef74ed7 More spell and typo fixes (mostly visualise->visualize, grey->gray, normalise->normalize). 2012-07-03 19:09:07 +00:00
Bastien Montagne
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
Campbell Barton
2e3c474b2d image sequence - apply cyclic option AFTER the image offset,
there was no way to properly loop on a sequence of images that didnt start frame 1.
2012-07-03 14:25:06 +00:00
Campbell Barton
42aaa47e9b dont display image sequences outside the frame range in the 3D viewport. 2012-07-03 14:04:39 +00:00
Jeroen Bakker
a0a4c54710 Check for nullpointers.
The ID of group nodes are not always filled.
2012-07-03 08:54:07 +00:00
Campbell Barton
55027b8232 fix for memory leak in BKE_mesh_ensure_navmesh(), it would add 2 navmesh layers, once referencing the other. 2012-07-03 08:16:14 +00:00
Joshua Leung
6a2a424c40 Bugfix: Fix crashes with empty material slots 2012-07-03 05:46:44 +00:00
Joshua Leung
d58cb1beaa Followup for r.48515
* Removed material driver creation hack. However, the textures one remains, as
texture eval isn't ready yet
* Shuffled some code
2012-07-03 05:30:19 +00:00
Joshua Leung
c960d1692f Bugfix [#31834] Cycles materials cannot be manipulated using drivers
Until now, there was never any code for making drivers on materials get
recalculated when their dependencies were changed. However, since changing
material colors with drivers is something that is quite common, a workaround was
introduced to ensure that materials could still be driven (albeit with the
relevant drivers rooted at object level). This worked well enough so far with
traditional materials - though it was sometimes clunky and confusing for some
users - and would have been ok to tide us over until the depsgraph refactor.

The introduction of Cycles changed this, as it has in many other ways. Now that
people use Cycles to render, they'll need to drive the material colors through
the nested nodetree (and other things nested deeply within that). However, this
is much more difficult to generate hacks to create the relevant paths needed to
work around the problem.

== This Commit... ==
* Adds a recursive driver calculation step to the BKE_object_handle_update()
(which gets called whenever the depsgraph has finished tagging object datablocks
for updates), which goes through calculating the drivers attached to the object
(and the materials/nodetrees attached to that). This case gets handled everytime
the object is tagged as needing updates to its "data" (OB_RECALC_DATA)

* When building the depsgraph, every dependency that the drivers there have are
treated as if they were attached to object.data instead. This should trick the
depsgraph into tagging OB_RECALC_DATA to force recalculation of drivers, at the
expense perhaps of modifiers getting recalculated again.

== Todo ==
* The old workarounds noted are still in place (will be commented out in the
next commit). This fix renders at least the material case redundant, although
the textures case still needs a bit more work.

* Check on whether similar hacks can be done for other datablock combinations

* So far, only simple test cases have been tested. There is probably some
performance penalty for heavy setups still (due to need to traverse down all
parts of material/node hierarchy to find things that need updates). If there
really is a problem here, we could try introducing some tags to limit this
traversal (which get added at depsgraph build time).  <--- USER TESTING
NEEDED!!!
2012-07-03 05:11:37 +00:00
Joshua Leung
f977da407b Bugfix [#31976] Bone Group Custom color set is not respected when creating an
Action

Custom color set colors were not getting copied over when creating new action
groups. Instead, a "default set" was initialised for use instead.
2012-07-03 01:15:03 +00:00
Sergey Sharybin
e2e79b9e10 Validate mesh selection stack in mesh_validate function
Related on #31944: Blender crashes on switching to mesh edit mode
2012-07-02 09:57:31 +00:00
Campbell Barton
1597ad9377 style cleanup 2012-07-01 09:54:44 +00:00
Sergey Sharybin
344ca17247 Added command line option "--debug-jobs"
This option enables time profiling of background jobs, namely it's
measuring run time of the job and prints it to the console.
2012-06-29 14:32:25 +00:00
Miika Hamalainen
6ddc574d9d Fix #31953: Forcefield Texture using image file, gradient mode not working 2012-06-29 11:44:46 +00:00
Miika Hamalainen
3ad9e0f3ec Fix #31948: dynamic paint substeps do not work for objects parented to armatures 2012-06-29 11:19:29 +00:00
Campbell Barton
5d9f3c5d18 fix for crash scaling an image 2012-06-29 10:52:37 +00:00
Campbell Barton
bee0f76f26 fix for crash in python getting the image size for a sequence. 2012-06-28 15:34:21 +00:00
Sergey Sharybin
33e8feb880 Fix #31835: OBJ Importer corrupts a model (crash in edit mode)
Added back face validation to BKE_mesh_validate_arrays.

This is needed because some addons (like OBJ importer) are reading
tessfaces and then converting them to ngons and validation of tessfaces
is needed before such a conversion.

Validation of faces would happen only if there's no polys in mesh.
2012-06-28 09:08:11 +00:00
Sergey Sharybin
20e854bb16 Fix #31929: VSE crash with relative paths and rebuilding proxies 2012-06-28 07:58:34 +00:00
Campbell Barton
32478997ec style cleanup 2012-06-27 18:29:47 +00:00
Campbell Barton
d008807a2d style cleanup: header comments, use more doxy compat formatting 2012-06-27 17:48:39 +00:00
Sergey Sharybin
1080c43d1c Camera solver: take track offset into account
This helps in cases when it's needed to track a feature which
goes out of screen for a while to prevent jump of camera.
2012-06-25 16:36:12 +00:00
Campbell Barton
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
Nicholas Bishop
ac9344de75 Fixes for modifier data in multi-user meshes.
When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.
http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498

Reviewed by Sergey:
http://codereview.appspot.com/6332047/
2012-06-24 20:18:32 +00:00
Sergey Sharybin
7b3a5ead8c Fix crash sliding disabled marker from preview widget.
Reported by brothermechanic, thanks!
2012-06-24 14:16:40 +00:00
Thomas Dinges
59731c5692 Release cycles:
*BCon 3 - beta.
2012-06-24 14:08:34 +00:00
Campbell Barton
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
Gaia Clary
257283e030 added new function BKE_imbuf_to_image_format 2012-06-22 15:40:49 +00:00
Campbell Barton
238d3fa4bb mask re-key feature - mango request. ability to reset selected points shape key data.
useful if you add many keys to one part of a curve, then later want to key another part - but dont want to continuously make the same corrections.
2012-06-22 11:53:49 +00:00
Campbell Barton
226c86ae58 use an inline function for rgb -> bw conversion. 2012-06-22 07:49:44 +00:00
Campbell Barton
54156e2b82 option to disable feather, since its so slow - for interactively editing masks its useful to be able to disable.
also rename RNA to 'use_antialiasing'
2012-06-21 12:27:57 +00:00
Campbell Barton
fae0b2068b falloff options for dilate/erode feather compo node. 2012-06-21 07:45:41 +00:00
Mitchell Stokes
7ef54879ed Fix for properly converting 2.4x IPO Actuators to 2.6x Action Actuators. Previously the converted Action Actuators would not have an action assigned. This fix is based on code provided by Maxim Aleynikov in his report: [#30410] not full conversion IPO Actuator in Action Actuator. 2012-06-21 06:27:51 +00:00
Campbell Barton
463a4ebf1c fix for segfault loading a file with a proxy that is a missing link. 2012-06-20 21:10:34 +00:00
Campbell Barton
a744fed46c style cleanup 2012-06-20 16:43:48 +00:00
Sergey Sharybin
a550b6fe39 Silent masks "alloc new deform spline" debug print 2012-06-20 13:32:30 +00:00
Sergey Sharybin
470ad6fc0e Do not check result of BKE_tracking_marker_get -- it shall always
return valid marker. If not -- let blender crash, because that means
something went really bad and silencing this isn't good idea.

Also made mask parenting to tracking data aware of clip's start frame.
2012-06-20 10:54:56 +00:00
Nicholas Bishop
c9e98e848d Fix for subsurf oscillations along creased boundary edges
Changed the "exterior edge interior shift" section of subsurf calc to
always treat boundary edges the same, regardless of sharpness. We
should revisit subsurf creasing to see if more consistent and
predictable results are possible, but for now this a non-intrusive way
to avoid wavyness along the boundary.

Fixes bug [#31864] Artifacts when using Subsurf+Crease on plane
http://projects.blender.org/tracker/index.php?func=detail&aid=31864&group_id=9&atid=498
2012-06-18 20:50:35 +00:00