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-09-27Merge branch 'master' into blender2.8Campbell Barton
2017-09-27Math Lib: Add non-clamped round_* functionsCampbell Barton
Replace iroundf with round_fl_to_int, add other types
2017-09-22Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-20Fix missing ID remapping in Action editor callback.Bastien Montagne
Spotted by Joshua Leung (@aligorith), thanks! Should probably be backported to 2.79a should we do it.
2017-09-05Merge branch 'master' into blender2.8Campbell Barton
2017-09-03Fix: Border select for GPencil keyframes was including those in the ↵Joshua Leung
"datablock" channels even though those weren't visible This meant that it was easy to accidentally select too many keyframes
2017-06-19Gawain API naming refactorCampbell Barton
Use consistent prefix for gawain API names as well as some abbreviations to avoid over-long names, see: D2678
2017-06-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-05-02Add scene argument for notifiersCampbell Barton
From workspaces branch
2017-04-16cleanup use of immUniformColorMike Erwin
- use best function for the job - don't specify alpha if 100% - 'f' for floating point literals
2017-04-07OpenGL: use PRIM instead of GL enum for immBeginMike Erwin
Getting ready for a Gawain API change... Part of T49043
2017-04-06Gawain: VertexFormat_add_attrib (function name change)Mike Erwin
See intern/gawain for the API change. Other files are updated to use the new name. Also updated every call site to the recommended style: unsigned int foo = VertexFormat_add_attrib(format, "foo", COMP_ ... )
2017-02-22Cleanup: StyleJulian Eisel
2017-02-11OpenGL: draw keyframe markers as point spritesMike Erwin
Also some conversion to new imm mode (T49043). Multiple editors affected. We could push this even further & draw all keyframes in an editor with a single draw call. Something is strange with keyframe markers in blender2.8 -- they're not showing up before or after this commit. They do appear in master. This commit probably needs some follow-up work after keyframes are showing again. Better to share this code now instead of sitting on it.
2017-02-11OpenGL immediate mode: Convert leftover UI_ThemeColor callsLuca Rood
Some `UI_ThemeColor` calls were left in converted files, in some cases because they were just overlooked, and in the case of text drawing, because the new BLF color functions were not yet implemented at the time of conversion. Also converted one `drawcircball` call that was left in transform_constraints.c Part of T49043
2017-02-08Cleanup: warningsCampbell Barton
2017-01-23Merge branch 'master' into blender2.8Sergey Sharybin
2017-01-23Silence strict compiler warningsSergey Sharybin
Similar thing to other areas where we mix Blender's char with OpenGL API.
2017-01-22Merge branch 'master' into blender2.8Julian Eisel
Conflicts: source/blender/editors/space_action/action_draw.c
2017-01-20DopeSheet: Show group colours behind keyframes tooJoshua Leung
Following @AlonDan's feature request and @hjalti's screenshot yesterday, I've decided to implement support for this to make it easier to scan which keyframes correspond with which set of controls, especially when faced with a large wall of keyframes. In retrospect, I should've done this a long time ago!
2016-12-29Merge branch 'master' into blender2.8Bastien Montagne
Please **DO NOT** add changes from master when it's totally uneeded! Changes to BLI_ area most certainly shall *always* be done in master, there is absolutely no point in adding more diff between the two branches than needed, will only makes merging more cumbersome! Conflicts: CMakeLists.txt source/blender/blenlib/intern/math_vector_inline.c
2016-12-28Fix T50184: Grease Pencil Layer synchronization between Dope Sheet and ↵Joshua Leung
Properties panel
2016-11-15blender 2.8: OpenGL immediate mode: action_drawMike Erwin
Updated action_draw to use imm mode. Reviewers: merwin Subscribers: LazyDodo Differential Revision: https://developer.blender.org/D2351
2016-09-19UI Messages: Consistent spelling of term "data-block"Julian Eisel
Was using a bunch of different spellings, mostly "data-block" though, so went with that one (would have been my #1 choice anyway ;) )
2016-08-18NDOF: compile 3D mouse code only if WITH_INPUT_NDOFMike Erwin
When WITH_INPUT_NDOF is disabled, 3D mouse handling code is removed from: - GHOST (was mostly done, finished the job) - window manager - various editors - RNA - keymaps The input tab of user prefs does not show 3D mouse settings. Key map editor does not show NDOF mappings. DNA does not change. On my Mac the compiled binary is 42KB smaller after this change. It runs fine WITH_INPUT_NDOF on or off.
2016-08-04Cleanup: Use BKE_gpencil prefixJulian Eisel
This is a good point to change this as grease-pencil-v2 branch was just merged, so I hope merge conflicts with other branches are minimal.
2016-08-04UI: Correct tooltips for properties region toggle OPJulian Eisel
Now all consistent and using term "properties region" instead of "properties panel". Ideally we had a more generic operator for all those. Fixes T49006.
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-07-07Fix: Keyframe click-selection threshold in Dopesheet was still hardcoded to 7pxJoshua Leung
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-06-29Cleanup: spelling, indentationCampbell Barton
2016-06-23DopeSheet Mask Mode: Circle/Lasso supportJoshua Leung
Adapted from the code for Grease Pencil (just like the whole mode was)
2016-06-23DopeSheet: GPencil-Mode supports Circle and Lasso SelectJoshua Leung
To get this working the least effort, I've had to expose the helper functions used by the lasso and circle select keyframe-test callbacks (which are generic) and expose them for use by the GP keyframe editing code too. Hopefully in time we clean this all up and just write the code once to operate on "keyframes"
2016-06-23Dopesheet: Lasso and Circle Select tools work for selecting keyframesJoshua Leung
This only works in the Action and Dopesheet modes (which operate on FCurve keyframes). Support for Grease Pencil and Mask Keyframes though is still pending.
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2016-06-03Fix T48234: Glitch w/ action constraints sharing an actionCampbell Barton
FCurve evaluation depended on FCurve.curval, which isn't threadsafe. Now only use this value for debug display, and pass the value instead of storing in the FCurve for all but debug-display.
2016-05-08Cleanup: warningsCampbell Barton
2016-05-08Action Editor: Initial support for a Properties RegionJoshua Leung
This commit adds some of the initial support for a properties region in the Action Editor. There are currently no panels to display, as there is still a lot of work required to port over the required internal architecture to support the panels seen in the Graph Editor.
2016-04-22Fix T48230: Home key when only one keyframe makes the DopeSheet acting weird.Bastien Montagne
Simply apply same minimal range as in graph editor when we get a zero one from keyframes.
2016-04-16Anim Editors: "View Frame" Operator - Code Cleanups/Reshuffling + ↵Joshua Leung
NLA/Timeline Support * Reshuffled code for existing "View Frame" implementations, and removed leftover comment from some of the the copy-and-paste used to build it. * Added support for this operator in the NLA and Timeline
2016-04-15Code Cleanup: Add proper defines (with ANIM_* prefix) for animation-related ↵Joshua Leung
copy-paste buffer free callbacks
2016-03-13Keyframing: Added ToolSetting for choosing default keyframe typeJoshua Leung
To make it easier for animators working in a multipass pose-to-pose workflow when inserting breakdown keyframes and so forth, it is now possible to specify the "type" of keyframe being created (i.e. the colour of the keyframe, when drawn in the Dope Sheet). Usage: 1) Choose the type of keyframe ("Keyframe", "Breakdown", "Extreme", etc.) from the new dropdown located between the AutoKeying and KeyingSet widgets on the timeline header. 2) Insert keyframes 3) Rejoyce that your newly created keyframes have now been coloured for you already in the DopeSheet. Todo: * Look into a way of using the actual keyframe colours (from the theme) for the icons of these types.
2016-02-19Fix T47472: Border select in the Action Editor does not respect NLA scaling ↵Joshua Leung
on Summary Tracks
2016-02-08Fix: ANIM_animdata_update() was not handling post-edit updates on GP channelsJoshua Leung
This may have resulted in situations where the order of GP keyframes was incorrect (leading to some frames not being able to be found), or in some redraw problems when trying to delete GP keyframes (that I was getting earlier, but can't seem to reproduce now) TODO: We now need to hook up a proper api to do the GP key sorting
2016-02-08Fix: Renaming Grease Pencil layers doesn't update the Dopesheet Channels RegionJoshua Leung
2016-02-05Fix T45915: Cannot select keyframes in summary channels in Dope Sheet in ↵Joshua Leung
TweakMode When in TweakMode on NLA strips that had an offset, it was not possible to select those keyframes in the Summary Channel in the Dope Sheet. The main gist of it is that the current code is from before the summary track was introduced, and so could assume that ANIM_nla_mapping_get() would work for all channels present. Thus, simply converting the clicked frame to nla-mapped time once would be enough. However, for summary channels, nla-mapping_get() doesn't do anything, since we can potentially include keyframes from several different objects!
2016-02-05Fix T46037: Moving keys in NLA tweak mode on offset actions results in ↵Joshua Leung
Bezier handles getting stretched unreasonably Patch by Alexander Gavrilov (angavrilov) Reviewed by Joshua Leung (aligorith)
2016-01-22Dopesheet: Make frame range for new editor instances saner, by basing them ↵Joshua Leung
on the current frame range This brings the dopesheet more in line with the NLA and Graph Editors, where similar initial ranges were also used. The benefit is that it should save animators a small amount of time getting the dopesheet timeline into the right zoom level before starting work.
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680