Age | Commit message (Collapse) | Author |
|
working.
It was using the modified mesh for the vertex coordinates, and the unmodified mesh
for the vertex weights, which can't work and crashed in some cases, now it used the
modified mesh for both.
Perhaps an option should be added to indicate if you want to transfer from the
unmodified mesh or transfer to the modified mesh, but I think this fix makes it
works as intended when this was implemented.
|
|
|
|
This reverts commit ba49d7e0e338b2b85cc162d265280bac8dc859cc.
|
|
|
|
|
|
With new subdivision method for making the vertex mesh, we always
subdivide the edges between the new vertices around a vertex
(we used to not subdivide edges between two non-beveled edges).
This fixes a bug related to this change.
|
|
browser.
The string comparison was in lower case, so the same strings with different case
were considered the same which can make qsort give different results on each
sort since it's not a stable sort. Now take case into account in comparison.
|
|
This was caused by recent change to transform locations being changed
to the upper-left corner of nodes (rBa857a6f).
|
|
Enable strict flags exposed some strange issues.
|
|
This is a first step toward improving our dupli system. It implements a more
generic way of treating the various methods of dupli generation by adding a few
structs:
* DupliContext holds a number of arguments commonly used in the recursive dupli functions and defines a recursion state for generating sub-duplis (nested groups). It also helps to prevent bloated argument lists.
* DupliGenerator is a type struct that unifies the different dupli creation methods (groups, frames, verts, text chars, faces, particles). (As with context there should be no overhead from pointer indirection because everything can still be inlined inside anim.c)
Beside making the code more easily understandable this implementation should
also help to avoid weird side effects from custom matrix hacks by defining
clearly what a generator does. The DupliContext is deliberately made const, so a
generator can not simply add hidden matrix or flag modifications that are hard
to track down.
The result container for the generated duplis is stored in the context instead
of being passed explicitly. This means the generators are oblivious to the
storage of duplis, all they need to do is call the make_dupli function. This
will allow us to implement more efficient ways of storing DupliObject instances,
such as MemPools or batches. These can be implemented alongside the current
ListBase so we can improve dupli bottlenecks without having to replace each and
every dupli use case at once.
Differential Revision: https://developer.blender.org/D189
|
|
|
|
The issue was caused by missing object update for the curve object
before going to new screen. And that new screen had different visible
layers due to disabled lock_camera_and_layers option.
Solved by calling DAG_on_visible_update() in ED_screen_set() even
in cases scene doesn't change. This ensures all the objects which
weren't visible before are correctly updated.
|
|
call
BKE_armature_mat_pose_to_bone (and avoids the need to get an Object pointer!).
Note the former just calls the later internally, in this case.
|
|
Code here was using pchan->chan_mat, which for some reason does not work,
we rather have to use pchan->pose_mat, and convert it again from
pose space to bone space, as done by visual keyframing.
|
|
|
|
Was disallowing adjacent loops to be split which is correct for a single
split across a face, but not fore BM_face_split_n
|
|
|
|
key).
|
|
|
|
correct.
|
|
Now it uses the last activated node like compositing does. This should have no
effect on existing files until you activate another output node there.
|
|
Allow loading of image sequences in addition to single images in the open image operator
I solved it by adding the possibility to load an image sequence in the Load Image Operator.
The image user is passed in the operator customdata now as well, best solution for now, but general handling of image user still a bit weak. The offset and length of the image sequence is now calculated in the image open operator by storing all found frames in a list and sorting this list.
Reviewed By: campbellbarton, brecht, lukastoenne
Differential Revision: https://developer.blender.org/D209
|
|
LSCM auto pinning where it picks two vertices on opposite sides of the outer
UV island boundary would in some cases give the same 3D coordinate, which
causes UV unwrap to give poor results.
|
|
This function call was accidentally placed inside a loop which gave O(n^2)
behavior, but there's no reason for it.
|
|
This code has been broken for a few years and no one noticed, it's also less
useful now that we support PSD image loading ourselves which was the original
motivation to have this.
|
|
Vertex bevel was completely messed up after last change,
and this fixes.
'Weld' bevels, where there are exactly two beveled edges
meeting at a vertex, now look better in cases where one
of the beveled edges is on a flat plane.
|
|
|
|
|
|
|
|
|
|
It is possible that object in .blend file will have non-zero
recalc flags. Clear them on load in order to prevent possible
unneeded recalc after the load.
Differential Revision: https://developer.blender.org/D224
|
|
OBJECT_OT_constraint_add_with_targets. This now works exactly the same
way as when setting the target via RNA/constraint buttons.
|
|
This is because of the animdata cleanup in rBd2e55cb. This works ok in
general, but causes issues with the localized node trees used for compo/
shader/texture previews. These localized trees share the same default
action as their original trees, and then remove fcurves when removing
muted nodes (which should affect the localized tree only).
node_free_node_ex now has an argument for disabling animdata cleanup,
which is also not necessary when freeing the whole node tree (because
animdata is freed in advance anyway). In addition to that it also checks
the NTREE_IS_LOCALIZED flag to prevent freeing of fcurves in the action.
|
|
Replacing the flags isn't thread safe and could lead to bi troubles.
Such things are to be handled by the dependency graph.
|
|
Caused by missing __name__ from bpy.types (alternate method to patch D232)
|
|
Also add some new interned strings.
|
|
Patch T38290 by ldo (Lawrence D'Oliveiro)
|
|
- move cache reset into view2d and comment about the rationale for resetting cache there.
- missed other places where view2d zoom level can change (smoothview, borderzoom, home and file reload)
- comment about DPI wasn't correct.
|
|
|
|
|
|
|
|
Issue is not noticeable with default font, but i18n one can use more than 500Mo of ram when cached in undreds of different sizes.
Campbell had already done most of the work in rBa780e7f3f09f and rB6b283f116829, just had to call BLF_cache_clear() in _exit funcs of VIEW2D_zoom & co operators.
|
|
|
|
Increase the maximum allowed amount of points in a spline from currently 32,767 (short) to 2,147,483,647 (int).
Change variables that get assigned the value from pntsu/pntsv to int type all over the codebase.
Change function parameters that previously passed the count as short to int type as well.
(because https://developer.blender.org/T38191)
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D212
|
|
No functional changes just creepy to send rather huge structure by value.
|
|
During drag the H key can be used to toggle the hide flag of the selected nodes.
This makes it easier to 'attach' nodes to available links in narrow places.
|
|
Remove stray #undef directives.
|
|
also for ray shadows, to solve inconsistency with the sun lamp.
|
|
Adds some padding to the left of the icon, adds more space around the separator
line and make it more visible, and add some spacing at the top and bottom of
the menu. Ref T37794
Reviewed By: dingto, billrey
Differential Revision: https://developer.blender.org/D223
|
|
Reviewed By: carter2422, billrey, plasmasolutions, brecht
Differential Revision: https://developer.blender.org/D220
|