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
2019-05-17Python: Raise an error even NO_MAIN data is assigned to objectSergey Sharybin
The goal is to prevent assignment of temporary or evaluated meshes to objects from the main database. Majority of the change is actually related on passing reports around. On a positive side there are more error prints which can become more visible to scripters. There are still possible further improvements in the related areas. For example, disable user counting for evaluated ID datablocks when assignment happens. But can also happen later on as a separate improvement. Reviewers: brecht, campbellbarton, mont29 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4884
2019-05-17UI: add tool panel for node editor, use tabsCampbell Barton
This follows the 3D view, adding an "Options" tab.
2019-05-16Fix T64660: no access to node connectors when a node is inside a layout frame.Bastien Montagne
Note that the same issue actually showed without a frame node, when trying to click-drag on a socket on its 'inside node' part, you would get same behavior. Only solution I can see here is to prevent Node selection to go on when user clicks on one of its sockets, there is no way afaik to make drag-from-socket to start if we keep select-node operator running modal, since both operators (NODE_OT_select and NODE_OT_link) use the same shortcut, if select (which is checked first, being a Tool) returns modal, then event is considered handled it seems, even though Passthrough is also returned...
2019-05-15UI: make sidebars in 3D view and other editors a little wider and consistentBrecht Van Lommel
2019-05-14Fix T63994: Node Editor: Move All Selected Nodes when dragging.Bastien Montagne
Left-click select broke that behavior, since it puts both action and select buttons on the same physical mouse button... To support this behavior again, we have to split selection process in two steps, hence make it modal... While I remain rather skeptical about that global design decision, and complexity it adds to many UI/UX areas, this solution ends up being OK-ish I think. Thanks to @brecht for some final tweaks on the patch.
2019-05-14Interface: Free argument callback for popupsJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D4858
2019-05-13Cycles/Eevee: unify light strength and colorBrecht Van Lommel
Cycles lights now use strength and color properties of the light outside of the shading nodes, just like Eevee. The shading nodes then act as a multiplier on this, and become optional unless textures, fallof or other effects are desired. Backwards compatibility is not exact, as we can't be sure which renderer the .blend was designed for or even if it was designed for a single one. If the render engine in the active scene is set to Cycles, lights are converted to ensure overall light strength remains the same, and removing unnecessary shader node setups that only included a single emission node. If the engine is set to Eevee, we increase strength to remove the automatic 100x multiplier that was there to match Cycles. Differential Revision: https://developer.blender.org/D4588
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-06Node select: refactor, fix some inconsistent behaviors in socket selection.Bastien Montagne
Refactor a bit node selection code, mostly in the socket selection in one place 'extend' logic usage was inverted, deselection of other sockets/nodes was not working properly. Also now make node active when selecting a socket, this makes more sense and makes the NODE_OT_link_viewer macro much more useful (this is the only user of the 'socket select' feature currently, afaics).
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-04-30Refactor: Separate scrollers from text drawing in APIJacques Lucke
This is a continuation of rB7fdffd735ff24, where I separated the e.g. frame number drawing from scrollers internally. This patch changes the API, so that space draw handlers have to draw these numbers explicitely. This greatly simplifies the scrollers API for all spaces that just need scrollers without any frame numbers. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D4747
2019-04-30Cleanup: make 'deselect_all' properties PROP_SKIP_SAVE.Bastien Montagne
Forgot to do that for some in previous commits, that kind of props are better with 'skip save' behavior (simpler to handle in keyconfigs).
2019-04-30Cleanup: use bool literal for booleans.Bastien Montagne
2019-04-30Select: Add 'deselect on nothing' to nodes selection.Bastien Montagne
Part of T63995.
2019-04-24Refactor: allow event handlers to have a poll functionJacques Lucke
Previously only a fixed bounding box could be used. This was not flexible enough. T63193 will benefit from this refactor. Reviewers: brecht, campbellbarton
2019-04-24Nodes: avoid slow and unecessary node group updates on file readBrecht Van Lommel
On file read we need to update group nodes in case the group they refer to has changed its inputs and outputs. This had O(n^2) time complexity and was updating all datablocks even if they did not change.
2019-04-24Cleanup: sort CMake include pathsCampbell Barton
2019-04-23Space_node: Add draw backdrop callback.Ray Molenkamp
Add a callback to allow custom node editors to draw their own backdrop. Differential Revision: https://developer.blender.org/D4709 Reviewed by: JacquesLucke
2019-04-21Cleanup: comments (long lines) in editorsCampbell Barton
2019-04-20Cleanup: remove unused OpenGL functions, rename some for clarityBrecht Van Lommel
2019-04-18Cleanup: unused region init functionsCampbell Barton
2019-04-18UI: move region toggling to propertiesCampbell Barton
Each space had separate operators, duplicating logic. Use RNA properties instead so adding the ability to toggle other region types (floating redo region for eg) doesn't need to have an extra operator per space type. It's also nicer to show a check-box for something which can be toggled.
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-04-16CMake: add library deps to CMakeLists.txtCampbell Barton
Tested to work on Linux and macOS. This will be enabled once all platforms are verified. See D4684
2019-04-16Fix T63562: wrong viewport updates after editing group node socketsBrecht Van Lommel
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-04-09Cleanup: spellingCampbell Barton
2019-04-02UI: Collapsed nodes have the same width as uncollapsed nodesRobert Guetzkow
Fixes T63079. Differential Revision: https://developer.blender.org/D4617
2019-03-29Fix header text for muted collapsed nodes not being greyed out.Brecht Van Lommel
2019-03-28Fix T60719: muted nodes are not clearly visible.Robert Guetzkow
Now the entire node gets greyed out, instead of using a red header that is hard to distinguish from other nodes with similar header colors. Differential Revision: https://developer.blender.org/D4597
2019-03-28Fix T63040: Resizing node has offsetJacques Lucke
This broke in rB6500b31728d870506207d9d70837b171cbef32ea. Reviewers: brecht Differential Revision: https://developer.blender.org/D4607
2019-03-26Cleanup: style, use braces for editor/spacesCampbell Barton
2019-03-25Fix T61577: collapse nodes hide arrow hit zone overlaps with node sockets.Brecht Van Lommel
Patch by EitanSomething. Differential Revision: https://developer.blender.org/D4423
2019-03-22NodeEditor: Connect Viewer To Socket SelectionJeroen Bakker
Request from the Spring team. When compositing the CTRL-Shift Click on a node cycles the viewnode with an output socket. When you have many render layers you spend time cycling to the desired socket. This patch allows the user to CTRL-Shift Click on a socket to connect directly to that socket. Reviewed By: brecht Maniphest Tasks: T62785 Differential Revision: https://developer.blender.org/D4564
2019-03-21UI: replace button open event with activate on initCampbell Barton
No user visible change.
2019-03-20Fix T60815: drag & drop crash when search menu is opened immediately after.Brecht Van Lommel
Patch by matc, some further refactoring by me. Differential Revision: https://developer.blender.org/D4250
2019-03-20Fix T62788: drop image into node editor puts node at wrong location.Brecht Van Lommel
It should be under the mouse cursor but was wrong for high DPI. Also put the cursor in the header now so it's easy to reposition.
2019-03-19GPencil: Rename annotation functionsAntonioya
The annotation drawing functions were using gpencil prefix and it's better to keep all annotation code separated to avoid confusion.
2019-03-17UI: add light/world settings in shader node editor.Brecht Van Lommel
Material was already there. Implementation was changed so it's just a single line of code to adapt a panel to the node editor.
2019-03-16Python API: add Python-defined node groups for shaders and compositing.Miguel Porces
This was already supported for Cycles shader nodes, but now also works for Eevee and compositing nodes. Instead of a generic NodeCustomGroup, now there is ShaderNodeCustomGroup and CompositorNodeCustomGroup that can be subclassed and registered. Differential Revision: https://developer.blender.org/D4370
2019-03-16Fix ID user counting issues with NodeCustomGroup.Miguel Porces
User counting now happens before init() and after free() methods, so that the ID users are in a valid state when Python might modify them. ID user counting was moved into node.c and simplified. Patch by Miguel with further refactoring by Brecht. Ref D4370.
2019-03-13Cleanup: rename uiBlock.mx,my to bounds_offsetCampbell Barton
Use a name that related to block bounds calculation (mx/my are typically used for mouse x,y).
2019-03-08Cleanup: use doxy sections for node select APICampbell Barton
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-07Tool System: use set/add/subtract for all lasso select operatorsCampbell Barton
2019-03-07Tool System: use set/add/subtract for all box select operatorsCampbell Barton
2019-03-05Tool System: use set/add/subtract for all circle select operatorsCampbell Barton
This applies changes from the 3D view circle select to other operators.
2019-03-05Nodes: move select all into a utility functionCampbell Barton