Blender Git Commits

Blender Git "master" branch commits.

Page: 2229 / 5574

January 18, 2017, 14:56 (GMT)
GPencil: Avoid variable shadowing
Revision 6d868d9 by Joshua Leung
January 18, 2017, 14:20 (GMT)
Reproject Strokes - To Surface/Geometry

Experimental option for the Reproject Strokes operator to project strokes on to
geometry, instead of only doing this in a planar (i.e. parallel to viewplane) way.

The current implementation is quite rough, and may need to be improved before it
is really ready for use. Potential issues:
* Loss of precision (i.e. stairstepping artifacts) from the 3D -> 2D -> 3D conversion
as we don't have float version of one of the projection funcs
* Jagged depth if there are gaps, since it will default back to the 3d-cursor plane
if no geometry was found (instead of doing some fancy interpolation scheme)
* I'm not sure if it's that useful for adapting GP strokes to deforming geometry yet...
Revision 00edc60 by Joshua Leung
January 18, 2017, 14:06 (GMT)
Fix: Make it possible to erase strokes (on other layers) even if the active layer doesn't have any frames
Revision 7452af0 by Joshua Leung
January 18, 2017, 14:06 (GMT)
Fix: Avoid creating redundant frames when erasing

Now the eraser checks if there's an active frame with some strokes in it
before creating a new frame. There's no point in creating a new frame if
there are no strokes in the active frame (if one exists).

This still doesn't help much if there were strokes but they weren't touched though...
Revision a93881d by Joshua Leung
January 18, 2017, 14:06 (GMT)
GPencil: Pressing 'B' while in 'Continuous Drawing' mode will create a blank frame

This is a hardcoded keymapping that just calls the "Add Blank Frame" operator
introduced in the previous commit.
Revision 2594473 by Joshua Leung
January 18, 2017, 14:06 (GMT)
GPencil: "Add Blank Frame" operator (D+B)

This operator adds a new frame with nothing in it on the current frame.
If there is already a frame there, all existing frames are shifted one frame later.

Quite often when animating, you may want a quick way to get a blank frame,
ready to start drawing something new. Or maybe you just need a quick way to
add a "placeholder" frame so that a suddenly-appearing element does not show
up before its time.
January 18, 2017, 12:00 (GMT)
GPencil: Cleanup - move include line to correct scope
January 18, 2017, 11:29 (GMT)
GPencil: Fix unreported error in animation after rename items

If the layers or the colors were renamed, the animation data was wrong
because the data path was not updated.

I also have fixed a possible stroke color name update if the name was duplicated moving
the rename function call after checking unique name.
January 18, 2017, 11:20 (GMT)
Cleanup: Strict compiler flags

Also seems the new file forced trailing whitespace, which goes against

https://wiki.blender.org/index.php/Dev:Doc/Code_Style#Trailing_Space
January 18, 2017, 11:18 (GMT)
Transform manipulator: Allow first clicking Shift before selecting axis

Avoids possible jumps when one is trying to do some really preciese tweak.

Quite striaghtforward change for mouse input initialization: take Shift
state into account. However, this will interfere with the axis exclusion
which is currently also uses Shift (the feature to move something in a
plane which doesn't have selected axis). This is probably not so commonly
used feature (nobody in the studio even knew of it) and the only downside
now would be that such a constrainted movement will become accurate by
default. That's easy to deal from user side by just unholding Shift key.

Reviewers: brecht, mont29, Severin

Differential Revision: https://developer.blender.org/D2418
Revision 8d4b31c by Joshua Leung
January 18, 2017, 06:42 (GMT)
GP Interpolation: "Remove Breakdowns" operator

To make it faster to try different interpolation curves, there's a new operator
"Remove Breakdowns" which will delete all breakdowns sandwiched by normal
keyframes (i.e. all the ones that the previous run of the Interpolation op created)
Revision 65ec429 by Joshua Leung
January 18, 2017, 06:41 (GMT)
GP Interpolate Sequence: Tool settings for controlling the shape of interpolation

This commit introduces the ability to use the Robert Penner easing equations
or a Custom Curve to control the way that the "Interpolate Sequence" operator
interpolates between keyframes. Previously, it was only possible to get linear
interpolation between the gp frames.

Workflow:
1) Place current frame between a pair of GP keyframes
2) Open the "Interpolate" panel in the Toolshelf
3) Choose the interpolation type (under "Sequence Options")
4) Adjust settings (e.g. if you're using "Custom Curve", use the curvemap widget
to define the way that the interpolation proceeds)
5) Click "Sequence" to interpolate
6) Play back/scrub the animation to see if you've got the result you want
7) If you need to make some tweaks, undo, or delete the generated keyframes,
then repeat the process again from step 4 until you've got the desired result.
Revision 224ae23 by Joshua Leung
January 18, 2017, 06:41 (GMT)
GP Interpolate: Move settings from "gp_sculpt" to a new toolsettings struct - "gp_interpolate"

The "gp_sculpt" settings should be strictly for stroke sculpting, and not abused by
other tools. (Similarly, if other general GP tools need one-off options, those should
go into the normal toolsettings->gpencil_flag)

Furthermore, this paves the way for introducing new settings for controlling the way
that GP interpolation takes place (e.g. with easing equations, or a custom curvemap)
Revision 4903a83 by Joshua Leung
January 18, 2017, 06:41 (GMT)
GP Interpolate Code Cleanup (Second Round)

* Reduce scope of variables
* Simplify a lot of the active_gpl->actframe->...->framenum stuff
* Missed some error messages
Revision fd119a3 by Joshua Leung
January 18, 2017, 06:41 (GMT)
Code Cleanup for GP Interpolation ops (first pass)

* Reshuffled some blocks of code for better ease of navigation/flow in the file
* Improved some tooltips
* Removed "Helper" tag from some functions that serve bigger roles
* Fixed some errant formatting
Revision cd8cde1 by Joshua Leung
January 18, 2017, 06:41 (GMT)
Code Cleanup: Move GPencil Interpolation operators into their own file

The interpolation operators (and their associated code) occupied a significant
portion of gpencil_edit.c (which was getting a bit heavy). So, it's best to split
these out into a separate file to make things easier to handle, in preparation
for some further dev work.
January 17, 2017, 19:01 (GMT)
T50457 Remove temporary solution for animation types and put in definitve position

After revert the commit rB4b99958ca12642, the line added at the end of the enum is not necessary anymore because it is replaced by the corresponding element in the list in the right position.
January 17, 2017, 18:46 (GMT)
Revert "Remove particle expander"

This reverts commit 4b99958ca126420c6f288dd9e7aad11232d20dd8.
January 17, 2017, 14:53 (GMT)
Fix previous commit because there are some code using this define, but really it is not used in editors. This is a temporary fix to broken editors, but this entry must be removed or moved to the right place when particles are in place again.
January 17, 2017, 12:33 (GMT)
Remove unused definition. This enum must be synchronized with the registration ANIM_init_channel_typeinfo_data function in anim_channels_define.c

If the list is not equal, weird things start to happend in animation editors.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021