Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-31Cleanup: use 'cb_flag', not 'cd_flag' for library_query callbacks.Bastien Montagne
`cd_flag` tends to be used for CustomData flags in mesh area, while for library_query those are rather callback flags...
2016-10-14Fix T49571: 2d stabilize keys not visible in the Graph Editor and Dope SheetSergey Sharybin
2016-09-28Curve pinning: Allow pinning object data without animated objectSergey Sharybin
Special case, so now we can pin tricky cases like animated camera DOF without requiring to have animation on the object level.
2016-09-16Remove debug only codeSergey Sharybin
Thanks Severin for spotting it!
2016-09-16Tweak for pinned/always visible curves in Graph EditorSergey Sharybin
Allow such kind of pin for armature bones.
2016-09-12Fix code which was commented by accidentSergey Sharybin
Well, more like some last-minute checks which i did not see before commit. Let's increase commit ratio!
2016-09-12Graph editor: Add channel option to make it persistent on displaySergey Sharybin
The idea is to allow certain animation channels to be always visible in animation editors. So, for example, one can pin Camera animation to the editor so it is always possible to refine/tweak camera animation when animating something else in the scene. There is probably some more polishing required, and some current limitations could be solved in the future but should be a good starting point already. Currently only works for object without recursing into deeper datablock (so for example, it's not possible to pin object material animation). Studio request by Colin Levy.
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-07-07Skip the ID part of object names when comparingCampbell Barton
Also no need to calloc arrays which are immediately filled
2016-07-07Animation Editors: Object datablocks are now sorted alphabetically by defaultJoshua Leung
A long requested feature has been to have objects appear in alphabetical order in the animation editors, so that it is easier to find where they occur. This commit implements support for this. The main sticking point has been the performance impact of having this sorting happening all the time (as the actual list of "bases" cannot be modified, as the old depsgraph still needs random-looking unsorted order of objects for scheduling updates). However, it recently occurred to me that perhaps by restricting it to the one case where the ordering actually matters (i.e. when we're getting the channel list for drawing all channels, vs operating on them), and adding a toggle to turn the sorting off in heavy scenes when it might bog down things, that it will probably be acceptable enough in general. Furthermore, if things get really bad, we can investigate putting in place some sort of caching scheme for this too - though hopefully the new depsgraph will make that unnecessary (i.e. it doesn't sort the bases directly anymore).
2016-07-07Code Cleanup: Move out logic for checking if an object can be included in ↵Joshua Leung
the dopesheet
2016-07-07Dopesheet: Keyframe size can be adjusted as part of theme settingsJoshua Leung
This commit introduces a scale factor setting for scaling all keyframe indicators in the Dopesheet Editor up/down, in order to make them easier to select. It is perhaps most useful for keyframe types which are usually indicated using smaller keyframes (e.g. breakdown), which may get tricky to quickly select.
2016-07-06Replace of (id->lib != NULL) check by meaningful macro.Bastien Montagne
Idea is to replace hard-to-track (id->lib != NULL) 'is linked datablock' check everywhere in Blender by a macro doing the same thing. This will allow to easily spot those checks in future, and more importantly, to easily change it (see work done in asset-engine branch). Note: did not touch to readfile.c, since there most of the time 'id->lib' check actually concerns the pointer, and not a check whether ID is linked or not. Will have a closer look at it later. Reviewers: campbellbarton, brecht, sergey Differential Revision: https://developer.blender.org/D2082
2016-03-23AnimEditors: Fuzzy/Multi-Word Name FilteringJoshua Leung
Thanks to D1080 by @rockets, I've now been able to easily implement the ability to type multiple word snippets/partial words into the text filter field (in the Animation Editors), and have it filter the channels which contain just some of those parts (instead of having to match everything). For example, the following search strings will now work: * "loc rot" or "lo ro" will now filter all location and rotation FCurves * "col loc" will filter all location and color FCurves * "scale" will also work as before to filter all scale FCurves But, the following will not work: * "lc rt" will NOT filter all location and rotation, as the fuzzy search only breaks down the search string based on whitespace placement By default, this is not enabled when using name filtering (i.e. magnifying glass is checked, and some filtering text is specified). Instead, you need to enable the "AZ" toggle beside the name field. This fuzzy matching is not enabled by default as it could end up being quite a bit slower on really heavy scenes. (There are probably some optimisation opportunities, but that's only a future option if someone really needs it)
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-12-13Grease Pencil: Merge GPencil_Editing_Stage3 branch into masterJoshua Leung
This commit merges all the work done in the GPencil_Editing_Stage3 branch as of ef2aecf2db981b5344e0d14e7f074f1742b0b2f7 into master. For more details about the changes that this brings, see the WIP release notes: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.77/GPencil
2015-10-09Fix error after change to IDWalkFuncCampbell Barton
2015-08-22Cleanup: spellingCampbell Barton
2015-07-01Cleanup: use boolsCampbell Barton
2015-06-19Cleanup: fix mismatch in printf formating (int/unsigned int).Bastien Montagne
Noisy and annoying with new gcc5...
2015-05-23Cleanup: typosCampbell Barton
2015-04-14NLA: The "filter by name" functionality now works with NLA strips tooJoshua Leung
2015-04-14NLA: Store track that the strip being tweaked comes fromJoshua Leung
There should be no functional changes visible from this change, but this commit should make it easier to code tools which need to check on tweeakmode status, by making it easier to figure out which NLA Track contains the strip which owned the action being edited. (The strip is already saved, so this commit just adds the track alongside it). For now there is no version patch for this. The worst that happens is that an extra refresh is needed in the NLA editor to get these to show up.
2015-04-14Temporary fix for NLA strips not getting drawn in tweakmode with multiple ↵Joshua Leung
strips selected When entering tweakmode on multiple strips (from different AnimData blocks) simultaneously, only the track containing the last selected strip would be shown. All the other tracks with strips being tweaked would not appear at all.
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-28Nla Strip Controls: Added special FCurve type (in the animfiltering code)Joshua Leung
Using the standard "FCurve" animchannel type didn't work that well for the control FCurves on NLA Strips, as the paths would not resolve correctly, and the indentation was wrong. Also, there would likely be issues down the track with applying NLA mapping. Hence, it's easier to just create a separate type for this case, and adapt the rest of the code to also consider these (todo).
2015-03-28Nla Strip Controls: Added dedicated "Expander" channel to Action/Graph EditorsJoshua Leung
The "Nla Strip Controls" channel is used to house the per-strip FCurves for controlling the strip_time and influence properties. It sits above the active action's first group, at the same level in the hierarchy as other groups. TODO: It looks like a dedicated FCurve channel is needed for these control FCurves, so that we won't accidentally apply NLA mapping or have these FCurves disabled by the path lookups failing.
2014-11-30Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)Joshua Leung
This merge-commit brings in a number of new features and workflow/UI improvements for working with Grease Pencil. While these were originally targetted at improving the workflow for creating 3D storyboards in Blender using the Grease Pencil, many of these changes should also prove useful in other workflows too. The main highlights here are: 1) It is now possible to edit Grease Pencil strokes - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions to enter "Stroke Edit Mode". In this mode, many common editing tools will operate on Grease Pencil stroke points instead. - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less, Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete. - Proportional Editing works when using the transform tools 2) Grease Pencil stroke settings can now be animated NOTE: Currently drivers don't work, but if time allows, this may still be added before the release. 3) Strokes can be drawn with "filled" interiors, using a separate set of colour/opacity settings to the ones used for the lines themselves. This makes use of OpenGL filled polys, which has the limitation of only being able to fill convex shapes. Some artifacts may be visible on concave shapes (e.g. pacman's mouth will be overdrawn) 4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing has been added which draws strokes as a series of screen-aligned discs. While this was originally a partial experimental technique at getting better quality 3D lines, the effects possible using this technique were interesting enough to warrant making this a dedicated feature. Best results when partial opacity and large stroke widths are used. 5) Improved Onion Skinning Support - Different colours can be selected for the before/after ghosts. To do so, enable the "colour wheel" toggle beside the Onion Skinning toggle, and set the colours accordingly. - Different numbers of ghosts can be shown before/after the current frame 6) Grease Pencil datablocks are now attached to the scene by default instead of the active object. - For a long time, the object-attachment has proved to be quite problematic for users to keep track of. Now that this is done at scene level, it is easier for most users to use. - An exception for old files (and for any addons which may benefit from object attachment instead), is that if the active object has a Grease Pencil datablock, that will be used instead. - It is not currently possible to choose object-attachment from the UI, but it is simple to do this from the console instead, by doing: context.active_object.grease_pencil = bpy.data.grease_pencil["blah"] 7) Various UI Cleanups - The layers UI has been cleaned up to use a list instead of the nested-panels design. Apart from saving space, this is also much nicer to look at now. - The UI code is now all defined in Python. To support this, it has been necessary to add some new context properties to make it easier to access these settings. e.g. "gpencil_data" for the datablock "active_gpencil_layer" and "active_gpencil_frame" for active data, "editable_gpencil_strokes" for the strokes that can be edited - The "stroke placement/alignment" settings (previously "Drawing Settings" at the bottom of the Grease Pencil panel in the Properties Region) is now located in the toolbar. These were more toolsettings than properties for how GPencil got drawn. - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a suggestion for an earlier discussion on developer.blender.org - By default, the painting operator will wait for a mouse button to be pressed before it starts creating the stroke. This is to make it easier to include this operator in various toolbars/menus/etc. To get it immediately starting (as when you hold down DKEy to draw), set "wait_for_input" to False. - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor - Toolbar panels have been added to all the other editors which support these. 8) Pie menus for quick-access to tools A set of experimental pie menus has been included for quick access to many tools and settings. It is not necessary to use these to get things done, but they have been designed to help make certain common tasks easier. - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and spatially stable manner. - D Q = "Quick Settings" pie. This allows quick access to the active layer's settings. Notably, colours, thickness, and turning onion skinning on/off.
2014-11-21Bugfix T42048: Keyframes missing when animating particle system blend ↵Joshua Leung
texture parameters Textures attached to particle systems are now get their animation data listed under the particle systems they are attached to now. This is the most convenient and direct way that these can get included
2014-11-21Bugfix T41527: Animations of world texture properties invisible in anim editorsJoshua Leung
Was caused by a typo - "items" was used in place of "tmp_items", causing animation in the texture to get ignored if nothing else was present
2014-11-04Cleanup: spelling (D831)Campbell Barton
2014-10-29Cleanup: warnings, typosCampbell Barton
2014-06-13GSet, GHash: Add BLI_gset_add, since its common to add members to a setCampbell Barton
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.
2014-05-29Cleanup: Use doxy for more structured commentsCampbell Barton
2014-05-22For increased type safety, ANIM_animdata_filter() now specifies the enums ↵Joshua Leung
its arguments can use Hopefully this should help prevent bugs lik T40304 from occurring again.
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-20Code cleanup: use true/false in sequencer functionsSergey Sharybin
2014-03-15Spelling fixJoshua Leung
2014-03-09Fix T39018: Duplicate entries for material/shader in AnimEditorsJoshua Leung
In many BI shader setups, the material which owns the nodetree is often itself included as a node in that nodetree (i.e. to provide the base colour for that mesh). This would often result in the material (and its subtree) getting included in the dopesheet results twice.
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Use bool where appropriateJoshua Leung
2014-01-27Code cleanup: use booleans where appropriateCampbell Barton
2013-12-26Avoid temporary change of animation data flags for nodes filterSergey Sharybin
Use temporary runtime flag of filter_mode argument instead. This commit also fixes some weirdo mix of filter_mode with filterflag bits.
2013-11-02Bugfix [#36687] Animation channels can't be grouped in action editorJoshua Leung
Internal filtering flags used to obtain AnimData blocks as result were not working correctly in Action and ShapeKey modes. Instead, in these modes, they were often returning F-Curves instead, which lead to the grouping operating failing (and perhaps other unidentified bugs)
2013-10-20Project Pampa request: show curves for node gruppsSergey Sharybin
It was not implemented in anim filter yet. it's strictly speaking not so much clear how "selected only" mode is expected to work when having multiple node trees editing at the same time. For now all the animation data from selected group will be displayed.
2013-09-30more fixes relating to [#36878], freestyle was only checking for NULL ↵Campbell Barton
linestyles in some places.
2013-09-04Fix for redundant multiple animation data items of the same line style in ↵Tamito Kajiyama
DopeSheet. This could happen when a line style is shared by multiple linesets within a scene.
2013-08-26replace hashes with sets where possible.Campbell Barton
2013-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-06-10Bugfix [#35643] Animated textures are invisible in Graph Editor if it is notJoshua Leung
linked via material Textures linked to modifiers are now shown in the AnimEditor channel hierarchy under object level now (i.e. on same level as ob-data, shapekeys, and object's action). This makes it possible to edit such animation data without having to ensure that these textures are also linked to the object's material so that they will appear. As a side-effect of how this is implemented, if playback is slower on scenes following this commit, disable the "modifier" filter under the filtering settings in the relevant animation editor header. In particular, it may be beneficial to disable this when you've got scenes with meshes that have many modifiers (but none of these have any linked data with settings which can be animated), as Blender will still try to go through all those modifiers checking for anything to show.