Commit Graph

9624 Commits

Author SHA1 Message Date
Joshua Leung
e69ec8be55 Bugfix [#31735] Performance issue related to object parenting to armature
In the file included with the bugreport, framerates were dropping from 60fps to
11fps for an armature with several lattices parented, and a 5fps drop everytime
an object was parented to the armature.

Upon (re-)inspection of the code, it became apparent that this was being caused
by a block of code that would recalculate the parent (perhaps recursively) as it
thought the parent state was for the wrong timestamp. However, the timestamps
this was using was never really updated (except for a single place, which set it
to a single fixed value to force recalculations to take place), which meant that
this branch was run all the time. AFACT, this is a remnant from some of the old
timeoffset stuff + pre-Depsgraph timestamping hacks that are no longer used/set.
2012-06-07 05:29:10 +00:00
Brecht Van Lommel
78cf502c80 Cycles: border render now works in the viewport, when looking through the
camera, same as in render. It draws objects in solid draw mode outside of
the border.
2012-06-06 23:27:43 +00:00
Campbell Barton
d5032657ed style cleanup 2012-06-06 22:38:39 +00:00
Campbell Barton
3e8ad394af code cleanup: remove unused mask args 2012-06-06 20:05:58 +00:00
Campbell Barton
fdf0d01d08 disable group/object selection in the outliner, it slows down drawing far too much. 2012-06-06 19:36:26 +00:00
Campbell Barton
67326ad4d9 group outliner option to instance selected groups in the scene. 2012-06-06 19:20:39 +00:00
Sergey Sharybin
f43a733f59 Changed semantic of recently added start_frame
Now it's indicates at which scene frame number movie clip starts playing back.
This this setting is still belongs to clip datavlock and used by all users of
clip such as movie compositor nodes, constraints and so.

After long discussion and thoughts about this it was decided that this would
match image's current behavior (which initially seen a bit crappy), but that's
actually allows:

- Keep semantics of start frame in image and clip datablocks in sync
- Allows to support features like support of loading image sequences
  with crappy numbers in suffix which doesn't fit long int.
- Allows to eliminate extra boolean checkbox to control such kind of offset.

Hopefully from pipeline POV it wouldn't hurt because idea of having this things
implemented in original way was  working only if sequence before processing
started naming form 001.
2012-06-06 18:58:30 +00:00
Campbell Barton
3e3e5b2ea3 replace glGetFloatv(GL_CURRENT_COLOR, col_f); with the current wire color arg. 2012-06-06 18:38:01 +00:00
Campbell Barton
b53b03ac1c pass the object wire color along to drawing functions, too many places would use glGetFloatv(GL_CURRENT_COLOR, curcol), which also become confusing to debug if in some cases the color was set beforehand. 2012-06-06 18:00:08 +00:00
Campbell Barton
1931aac1f7 style cleanup: (indentation) 2012-06-06 14:48:39 +00:00
Campbell Barton
2cb671591b mask mode
- only keyframe selected mask layers
- fix for crash in deleting animated mask layers (other than the first)
2012-06-06 14:38:47 +00:00
Campbell Barton
c6d0ebcdf9 - background images now draw in opengl render
- fix bug where forground images could be invisible when clipping was enabled.
2012-06-06 11:40:01 +00:00
Campbell Barton
6cff0b71a7 style cleanup 2012-06-05 21:54:21 +00:00
Campbell Barton
465b11e971 operator to reset feather weights on all shape keys 2012-06-05 19:39:12 +00:00
Sergey Sharybin
0d61876ed0 Configurable start frame for movie clip datablocks as alternative to automatic start frame number
Number of start frame in opened image sequence used to be distinguished automatically
in a way that file name used on open would be displayed at scene frame #1.

But sometimes it's useful to have it manually configurable (like in cases when you're
processing image sequence and replacing clip's filepath to postprocessed image sequence
and want new clip to show at the same frame range as it was rendered from).

Added Custom Start Frame flag to movie clip (could be accessed from Footage panel in
clip editor) and Start Frame which means number of frame from sequence which would
be displayed at scene frame #1.

For example if you've got clip pointing to file render_00100.png and Start Frame of 100
this file would be displayed at scene frame #1, if Start Frame is 1 then this image
would be displayed at scene frame #100,
2012-06-05 18:38:09 +00:00
Campbell Barton
957ea14511 shrink/fatten now works with proportional editmode on curves. 2012-06-05 14:19:13 +00:00
Campbell Barton
8c71157af6 shrink/fatten transform for mask - adjusts the feather weight.
works in proportional editmode too.
2012-06-05 14:13:14 +00:00
Campbell Barton
fe58f668a1 mask point slide now accounts for scaled bezier weights, 2012-06-05 12:51:11 +00:00
Sergey Sharybin
33246ea437 Fix #31713: Mask editor: RMB drag crashes Blender
Simple missed NULL check in TransData creation.
2012-06-05 11:28:15 +00:00
Sergey Sharybin
f885306bb8 Fix #31702: Drag and Drop parenting crashes Blender
Crash was caused by recent changes in parent drop operator which were
aimed to prevent parenting objects between different scenes (which probably
makes sense).

The problem was how it was checked if objects belongs to the same scene --
outliner tree with type ID_SCE was used for this which works pretty nice
for All Scenes outliner view. But in other view modes there is no scene
element in outliner tree which lead to some NULL pointer dereferences.

Currently resolved this by assuming that if there's no Scene parent element
in outliner tree parent and child belongs to the same scene which is active
scene. This is truth for current view modes of outliner but if it'll be
changed in the future this assumption shall be updated and re-implemented
with some smarter checks of which scene object from outliner belongs to.
2012-06-05 09:57:19 +00:00
Campbell Barton
ae8103240d mask editing
- clear feather weights (alt+s)
- fix for glitch where placing the feather would jitter.
2012-06-05 09:37:44 +00:00
Campbell Barton
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
Bastien Montagne
6f0ad4ff0f A few UI messages fixes. 2012-06-04 19:43:12 +00:00
Brecht Van Lommel
4e338e894f Cycles: support for image sequences in image/environment texture node. 2012-06-04 19:38:33 +00:00
Campbell Barton
d46a6dc59c abbreviate mask-editing to mask-edit 2012-06-04 17:30:54 +00:00
Campbell Barton
c517247fc6 include cleanup, also raskter wasn't building on osx 2012-06-04 17:27:22 +00:00
Campbell Barton
0f1fd51c21 picky change - rename keymap since there is no 'mask editor' 2012-06-04 17:13:38 +00:00
Campbell Barton
68a9dd54ec mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and myself.
see:
http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor


note - mask editing tools need continued development, feather option is not working 100%
2012-06-04 16:42:58 +00:00
Brecht Van Lommel
874308ba5e Cycles: show frame number in render info. 2012-06-04 16:09:51 +00:00
Campbell Barton
489fa2d108 remaining mask files from tomato. these wont get svn history carried over. 2012-06-04 15:49:58 +00:00
Campbell Barton
115322ef08 mask merge (initial copy of editor files) 2012-06-04 15:36:16 +00:00
Sergey Sharybin
8e01389a4e Fix #31559: second 3D viewport does not update when paiting vertex/weight
Added notification at the end of weight/vertex paint stroke so all opened
viewports would be updated (same was already done for sculpt mode).
2012-06-04 15:13:36 +00:00
Joshua Leung
d27ea22953 Removed some old cruft - commented out select_actionchannel_by_name() lines 2012-06-04 13:07:41 +00:00
Joshua Leung
0259d5de41 Attempted fix for borderselect crash that Jeremy (@Mango) is getting on a
particular file in Pose Mode
2012-06-04 12:29:37 +00:00
Sergey Sharybin
617027fdf3 Fix #31352: Image sequence texture - can't load image after changing image source
Added new flag to Imageuser which indicates whether user frame calculation is needed.
This flag is getting set in BKE_image_signal and handled in actual image usage areas
where both image user and current frame is known.
2012-06-04 10:41:18 +00:00
Sergey Sharybin
eb81192069 Tag unused variables 2012-06-04 07:43:36 +00:00
Sergey Sharybin
46cd2a6a38 Fix #31093: Brush's "Paint curve presets" in Image paint in UV\Image Editor doesn't work if weight paint mode is active
Some operators like curve presets, color sample and some more were using object's
mode to distinguish in which mode user is currently painting. Such approach fails
in cases when there's paint mode active in 3D viewport and Image Editor.

Changed logic here to use some context's state like active space which helps
distinguishing current paint mode more accurate.

Ported all areas which uses paint_get_active() to new paint_get_active_from_context().
There're still some calls to paint_get_active(), but that shouldn't be harmful due
to that places indeed have object's mode as priority when getting paint mode.
2012-06-04 07:29:45 +00:00
Campbell Barton
4414f38cbf patch [#31644] Py Console: Indent and unindent independent of cursor (aligned) [Tab / Shift + Tab / Ctrl + Tab]
from Sebastian Nell (codemanx)
2012-06-04 07:24:19 +00:00
Joshua Leung
4371ee22f9 Theme Colors for NLA Strips and DopeSheet Summary
* NLA Strip colors are now themable
* Changed the "Active Action"/"Summary" colors to be a bit more muted. The new
colors are now closer to those for keyframes, though they are still different
enough to be clearly distinguishable.
* Removed some colors wihch don't seem to be used (from NLA theme colors)
* Added function to get theme colors + alpha as floats
2012-06-04 01:17:37 +00:00
Campbell Barton
9025841cfd rename context menu 'Python Documentation' to 'Online Python Reference' 2012-06-03 16:47:19 +00:00
Campbell Barton
1aa27e240c code cleanup: replace some non utf8 chars 2012-06-03 11:16:13 +00:00
Campbell Barton
20e49e7177 quiet warnings 2012-06-03 10:33:28 +00:00
Joshua Leung
85b34cfcde Bugfix: Bone Groups now displayed with correct icon in Outliner 2012-06-03 10:23:48 +00:00
Joshua Leung
7985fd0d1f Part-Bugfix, Part-Feature Completion: 'Armature' Option for Mask Modifier
finally works

This commit finally hooks up the Mask Modifier's "Armature" option with the
relevant depsgraph updates on bone selection. Hence, this feature finally works
as it was originally intended - that is, bone selections can be used to control
which parts of the mesh that the mask modifier is applied to are displayed,
giving riggers more freedom to experiment with rigs that don't necessarily
feature overbearing/cluttering widgets.

Regarding the implementation ("has_viz_deps" flag):
This feature is just the "tip of the iceberg" of a number of related set of
rigging/visual animation tools I've had in mind for a while now (dating back to
the introduction of this modifier). Key considerations
- Not all rigs will use this, so we don't want an extra (depsgraph-flush +
search) recalc cost for those that don't use this.
- There are some planned features which will also use this
2012-06-03 07:49:54 +00:00
Bastien Montagne
64039bdf44 Fixing most (if not all) remaining issues with nodes UI i18n.
Note that I had to script-tag all sokets' names, as they are currently completely unknown from bpy.types (and hence unreachable for our po generating scripts).
2012-06-02 19:58:12 +00:00
Campbell Barton
0dc84e64e7 experenental manual linking from the UI. realize this is an issue which is not agreed on so probably this will be disabled for release.
the data is stored here so more dev can commit:

./release/scripts/addons/modules/rna_wiki_reference.py
2012-06-01 20:38:40 +00:00
Campbell Barton
e94e7b4c7e code cleanup: rename bool --> do_tint, confused qtcreator 2012-06-01 20:28:53 +00:00
Bastien Montagne
14b1c408fd Make "Match Movie Length" into an operator (must be called inside a context having either a "texture" Tex, an "area" SpaceImage, or both "edit_image" Image and "edit_image_user" ImageUser).
Thanks to Campbell who pointed me to uiLayoutSetContextPointer() func!
2012-06-01 17:28:09 +00:00
Campbell Barton
04466171c1 fix for crash when loading a file while rendering. 2012-06-01 15:05:30 +00:00
Joshua Leung
392ee8fc6a Tweaks for Pasting Keyframes in DopeSheet/Graph Editors
In response to [#31670], I've reviewed the way that the Paste Keyframes tool for
the DopeSheet and Graph Editors works. Previously, it required you to always
select the F-Curves to paste the keyframes into before allowing you to paste
keyframes. This was because it is quite difficult to infer which ID-block's set
of curves is intended if more than one ID-block has similar curves (e.g. a scene
with two materials, and both have their diffuse color animated). The underlying
assumption and intention of the feature here was that the copy+paste were only
being used by animators to copy animation between similar curves, to transfer
and offset animation across block boundaries.

However, it turns out that many people were by far more familiar with the
simpler copy/paste paradigm from everywhere else (i.e. instead of trying to use
duplicate to copy keyframes around within their respective F-Curves).
Furthermore, in most cases there is only going to be a single character being
animated at a time (vs multiple), which means that most of the time the matching
problem is much simpler.

Hence, the Paste now works as follows:
- If there are selected F-Curves, we limit the paste-matching to only consider
those in the selected F-Curves. This makes it possible to still explicitly
specify where to paste.
- In the more general case (no prior selections), pasting will try to match
anything relevant it finds.

TODO:
- Check on whether the strictest matching level needs adjustments to limit the
number of false positives
- Testing and feedback of the new behaviour needed <--- ANIMATORS! PLEASE TEST
2012-06-01 15:00:28 +00:00