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
2018-05-23Drivers UI Cleanup (Part of T55145)Joshua Leung
* Remove "Show Debug Info" option. Everyone has it turned on all the time, since it's just useful to have * Make the "Remove Driver" button less prominent. It doesn't happen that much, so it shouldn't take up as much room * Make "expressions" textbox wider (i.e. taking up the whole column width) by separating the label and textbox on separate lines. * Rename "Add Variable" button to make it clearer to users what "variables" may be (i.e. they serve as a way to specify Inputs, just like adding a "Source Data" node in a nodetree) * Regroup buttons
2018-05-19WIP COW Fix: Insert keyframe operators/api now queries depsgraph for ↵Joshua Leung
evaluated data When using copy on write, insert keyframe operators were reading from old bmain data instead of COW data. This meant that inserting keyframes would often read old/stale data, resulting in invalid keyframes getting created (e.g. from last transform operation, instead of actual current state). This commit makes it so that keyframing operators will ask depsgraph for the evaluated copy of the data, so that it can read values from that. It introduces a new function - `DEG_get_evaluated_rna_pointer()`, which when working correctly/fully, should work just like the other `DEG_get_evaluated_*()` functions, except it lets you pass in an RNA Pointer. However, currently, this is only done for Pose Bones (as a dirty hack, since this is an important/pivotal requirement for production) and/or datablock properties directly (since we can just use the DEG_get_evaluated_id() directly). on the datablock. Committing to a branch for now as this all needs more testing. More work to come later at a more sane time of day!
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-15Merge branch 'master' into blender2.8Campbell Barton
2018-05-15Undo System: remove nested edit-mode undo callsCampbell Barton
Regression in recent undo system changes, This caused T55048. When each mode had its own undo stack it was important to initialize it when entering edit-mode.
2018-05-11Use Light Probe iconsPablo Vazquez
2018-05-10Cleanup: warningCampbell Barton
2018-05-10Make current frame indicator smaller with rounded corners.Pablo Vazquez
Reviewed by Joshua Leung
2018-05-02Depsgraph: Make bAction a part of dependency graphSergey Sharybin
There are various values which depends on context in there, for example current driver value and original DNA value f-curve is applied for. This partially fixes issue with not being able to tweak keyed values when material preview is open. The material preview is not being currently updated against non-keyed changes since every tweak of material property does full preview scene depsgraph evaluation.
2018-04-30ANIM_apply_keyingset() - Tag modified datablocks for copy on write update ↵Joshua Leung
for good measure
2018-04-25Fix: Silence texture stack owner_id warnings in debug mode from ↵Joshua Leung
anim_filtering code The Blender Internal removal (51b796ff1528c52cc8b4079fab1003671652a4d9) removed support for texture slots from Materials/Lamps/Worlds, but didn't remove the relevant parts from the animation editor filtering code that were responsible for adding the texture slots for those channels.
2018-04-24Cleanup: unused varCampbell Barton
2018-04-24Current Frame Indicator tweaksJoshua Leung
* Draw the frame/time number box over the scrollbar instead of above it, to reduce the clutter/clashes with markers. * Draw the box centered around the line instead of off to one side, making it clearer that the frame shown is the one being affected. * Make the box larger than the scrollbar + use white text to make it stand out from the neighbouring frame numbers (otherwise, it's easy to misread that it's just another one of those)
2018-04-24Bind Camera to Markers - Various tweaks to make this nicer to work withJoshua Leung
Based on discussions here in the office, this commit introduces a number of changes to make the "Bind Camera to Markers" feature (introduced during Sintel to facilitate camera switching, and now an integral part of the UI for doing this) nicer to use. Main changes: * "Camera Markers" are now drawn using Camera icons, making it easier to distinguish between them and other ("normal") markers * "Camera Markers" will display the name of the bound marker, making it easier to see what camera each marker uses. This will then also stay in sync with the camera being used (though a manual refresh is needed after renaming objects to make the timeline update), fixing the problem where the marker's camera and the name get out of sync. * Behaviour of Ctrl-B has been modified to make it easier to quickly add these markers. Now, it will directly add a new marker on the current frame, bound to the currently selected camera object. If there's an existing marker on that frame, the existing marker's camera will be replaced instead of making a new marker.
2018-04-24UI Tweak: Don't hide frame range indicators when preview range is shownJoshua Leung
After discussing with UI team, it's better to show both ranges, to make it clearer that we have an "overlay" with the preview range.
2018-04-21Fix: Typos in operator names were resulting in warnings being printed to the ↵Joshua Leung
console
2018-04-20Cleanup: warningsCampbell Barton
2018-04-20Dopesheet-Timeline: Removal of Timeline Editor!Joshua Leung
This commit removes all references to the old timeline editor. Unfortuantely, the removal of the Timeline spacetype defining functions has ended up breaking the version patching code I'd been working on earlier (as now, the editor gets marked as "unknown/info" before we get a chance to patch it!)
2018-04-20Preview Range: Show preview range using a different color (based on ANIM_ACTIVE)Joshua Leung
instead of using "black" curtains With most editors now showing the start/end range by default, we need a way of easily distinguishing when preview range is now enabled. By using a different color (the exact color used is something we can change/adjust later), there is a more distinct visual difference between them, making it easier to see what's happening.
2018-04-20AnimEditors: Draw start/end frame ranges on all timelines by defaultJoshua Leung
This uses the global scene range, with styling matching the sequencer's start/end frame drawing. (The graph editor's "drivers" mode is exempt, as that doesn't really display time in a linear way, so the start/end frames don't apply)
2018-04-20Move the set start/end frame operators from Timeline to Animation moduleJoshua Leung
Eventually the idea is that they'll get remapped to some more global/generic hotkey that can get used across all animation editors (see T54728). However, to facilitate the removal of the timeline editor, it's better we do this now.
2018-04-20Dopesheet-Timeline: First steps towards making the Timeline a mode of the ↵Joshua Leung
DopeSheet Editor For many years, animators have been requesting the ability to edit keyframes in the timeline. However, implementing such tools in the timeline quickly becomes a slippery slope, where we'll eventually end up having to duplicate all the functionality from the dopesheet editor. Discussing with William and Pablo this morning, we realised that perhaps it might be possible to just make the Timeline a mode of the Dopesheet Editor (and kill off the old standalone Timeline), meaning that we essentially get all the Dopesheet Editor goodness for free! Also, with some proposed UI updates (i.e. allowing "submodes" of editors to be part of the the main editors selector), it might not even matter that there isn't an "actual" timeline editor anymore. This commit implements the following changes (which are actually sufficient for supporting most basic workflows): * Timeline mode in Dopesheet Editor * Tweaks to UI code to make the Timeline header/menus show up in Dopesheet editor TODO: * Hide channels list when switching to timeline mode * Port over cache-file indicators * Add missing timeline-only settings that need a new home in the dopesheet * Go through fixing all timeline editor operators (e.g. Bind to camera) * Port over start/end frame shading (and adjust preview range rendering to make the distinction between these clear) * Remove old timeline editor, and transfer over any leftover code
2018-04-20Merge remote-tracking branch 'origin/master' into blender2.8Gaia Clary
2018-04-20Fix: D3160 Propose to use proper typedefs to avoid confusionGaia Clary
Differential Revision: https://developer.blender.org/D3160
2018-04-19Remove Blender Internal and legacy viewport from Blender 2.8.Ton Roosendaal
Brecht authored this commit, but he gave me the honours to actually do it. Here it goes; Blender Internal. Bye bye, you did great! * Point density, voxel data, ocean, environment map textures were removed, as these only worked within BI rendering. Note that the ocean modifier and the Cycles point density shader node continue to work. * Dynamic paint using material shading was removed, as this only worked with BI. If we ever wanted to support this again probably it should go through the baking API. * GPU shader export through the Python API was removed. This only worked for the old BI GLSL shaders, which no longer exists. Doing something similar for Eevee would be significantly more complicated because it uses a lot of multiplass rendering and logic outside the shader, it's probably impractical. * Collada material import / export code is mostly gone, as it only worked for BI materials. We need to add Cycles / Eevee material support at some point. * The mesh noise operator was removed since it only worked with BI material texture slots. A displacement modifier can be used instead. * The delete texture paint slot operator was removed since it only worked for BI material texture slots. Could be added back with node support. * Not all legacy viewport features are supported in the new viewport, but their code was removed. If we need to bring anything back we can look at older git revisions. * There is some legacy viewport code that I could not remove yet, and some that I probably missed. * Shader node execution code was left mostly intact, even though it is not used anywhere now. We may eventually use this to replace the texture nodes with Cycles / Eevee shader nodes. * The Cycles Bake panel now includes settings for baking multires normal and displacement maps. The underlying code needs to be merged properly, and we plan to add back support for multires AO baking and add support to Cycles baking for features like vertex color, displacement, and other missing baking features. * This commit removes DNA and the Python API for BI material, lamp, world and scene settings. This breaks a lot of addons. * There is more DNA that can be removed or renamed, where Cycles or Eevee are reusing some old BI properties but the names are not really correct anymore. * Texture slots for materials, lamps and world were removed. They remain for brushes, particles and freestyle linestyles. * 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and other renderers use this to find all panels to show, minus a few panels that they have their own replacement for.
2018-04-17Cleanup: unused vars, long linesCampbell Barton
2018-04-17UI: Perf: Improve Dopesheet performance.Clément Foucault
2018-04-15Merge branch 'master' into blender2.8Campbell Barton
2018-04-15Cleanup: ED_armature namingCampbell Barton
- Wasn't clear which functions handle edit-bones. - Mixed both ebone and edit_bone in names. - Didn't use ED_armature_* prefix for public API. See P655 to apply to branches.
2018-04-10Merge branch 'master' into blender2.8Campbell Barton
2018-04-10Cleanup: remove unused flagCampbell Barton
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-04-02Merge branch 'master' into blender2.8Campbell Barton
2018-04-02Cleanup: move undo into it's own directoryCampbell Barton
Split out undo API from ED_util.h into ED_undo.h
2018-03-14Merge branch 'master' into blender2.8Bastien Montagne
2018-03-14Fix T54319: Crash after double-clicking baked F-curveSergey Sharybin
2018-03-02Merge branch 'master' into blender2.8Campbell Barton
2018-03-02Object Mode: move logic to 'object_modes.c'Campbell Barton
Was mixed with edit-mode, centralize mode switching in a single file. No functional changes.
2018-02-27merge from masterGaia Clary
2018-02-26Cleanup: typosCampbell Barton
D3081 by @rjg, with others.
2018-02-22Merge branch 'master' into blender2.8Brecht Van Lommel
2018-02-21Fix T54065: NLA-Strip Control Curves would get disabled when ↵Joshua Leung
name-based-filtering is enabled This bug took a while to track down. In the test file with this report, the Nla-Strip Control Curve for strip time would get disabled if you changed the NLA Editor to a second Graph Editor instance. It turns out that because this second Graph Editor would have the "filter fcurves by name" option enabled, this would trigger a lookup of the referenced property's name (in order to test whether it matched the filtering criteria). However, since that filtering code was written before the introduction of these curves, it still assumed that the names for these Control Curves should be handled the same as for standard FCurves. Unfortunately, that doesn't work, as the property lookups fail if the standard method is used - when the lookups fail, the F-Curves get tagged as being invalid/disabled (and need to be reset using the "Revive Disabled FCurves" operator). Note: The changes in this patch look complicated, as I've had to shuffle a bit of code around so that the name-filtering check can have access to the additional info it needs. In the process, I've also removed the earlier (hacky) approach where the control curves were getting added to a temp buffer to get changed from normal FCurves to special ANIMTYPE_NLACURVES.
2018-02-18Merge branch 'master' into blender2.8Campbell Barton
2018-02-18Cleanup: add 2d suffix to BLI filesCampbell Barton
Some of these API's can have 3D versions, explicitly name them 2D.
2018-02-15Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-15Cleanup: Style, braces with macrosSergey Sharybin
See https://wiki.blender.org/index.php/Dev:Doc/Code_Style#Braces_with_Macros
2018-02-15Cleanup: Remove BLI_ prefix from listbase macroSergey Sharybin
This is kind of doesn't matter where macro itself is defined. We should stick to the following: - If some macro is actually more an inline function, follow regular function name conventions. - If macro is a macro, type it in capitals. Use module prefix if that helps readability or it if helps avoiding accidents.
2018-02-14GPU: use alpha blend that works for drawing to transparent buffer.Brecht Van Lommel
It's unlikely to ever be intentional to square the source alpha, as happens with glBlendFunc, so this changes the blending throughout the code.
2018-02-13Object Mode: remove Scene.obeditCampbell Barton
Add ED_screen_window_find, BKE_workspace_edit_object
2018-02-08Merge branch 'master' into blender2.8Campbell Barton