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-07-25UI: Minor tweaks to nodesPablo Vazquez
Match roundness with widget defaults and collapse triangle size with panel's. Interaction is the same, just an aesthetic tweak.
2018-07-18Merge branch 'master' into blender2.8Brecht Van Lommel
2018-07-18Compositor: Cryptomatte compositing node.Stefan Werner
This patch adds a new matte node that implements the Cryptomatte specification. It also incluces a custom eye dropper that works outside of a color picker. Cryptomatte export for the Cycles render engine will be in a separate patch. Reviewers: brecht Reviewed By: brecht Subscribers: brecht Tags: #compositing Differential Revision: https://developer.blender.org/D3531
2018-07-15Cleanup: use variable names based on term gizmoCampbell Barton
2018-07-15WM: rename manipulator to gizmo internallyCampbell Barton
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-06-09Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/space_view3d/drawobject.c
2018-06-09Cleanup: remove some G.main usages.Bastien Montagne
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04Cleanup: strip trailing space in editorsCampbell Barton
2018-06-01Merge branch 'master' into blender2.8Campbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-04-05UI: Node Editor: Port nodelink drawing to shader based drawing.Clément Foucault
Use the new GPU_SHADER_2D_NODELINK and GPU_SHADER_2D_NODELINK_INST to accelerate nodelink drawing. This commit does not include the batching functionnality. So this should not make a lot of difference.
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-09-06Node UI: Add square and diamond socked draw stylesCampbell Barton
Currently not used by Blender's node trees D2814 by @charlie
2017-08-10Manipulator: add compositor corner-pin widgetsCampbell Barton
2017-08-09Manipulator: add sun-beam node manipulatorCampbell Barton
2017-08-04Manipulator: add compositor crop manipulatorCampbell Barton
2017-05-29Node Backdrop ManipulatorCampbell Barton
From custom-manipulator branch, usable when viewer node is selected. This might need some changes but works on basic level.
2016-10-15OpenGL: draw node sockets more efficientlyMike Erwin
1 or 2 draw calls per node instead of 1 per socket (inputs + outputs). Rearranged draw order so we set uniforms less frequently. Some style & dead code cleanup. Part of T49043
2016-10-15blender 2.8: OpenGL: node_circle_draw use now immediate modeMike Erwin
I use your new point shader to draw the node's soket Reviewers: Severin, merwin Maniphest Tasks: T49043 Differential Revision: https://developer.blender.org/D2286
2016-03-02Avoid node tree update tag when changed nodes which are not affecting resultSergey Sharybin
This was we don't have re-compo or viewport re-rendering happening when changing nodes which are not connected to the output at all (for example when adding new nodes or changing settings for unconnected nodes). Only basic operations are covered for now. checks could be added to more tools when needed. Currently it's not fully optimal implementation, but seems to work fast enough. Don't see reliable alternative to that -- keeping tag in the node wouldn't work because of the node groups (which are probably already broken, but should be easy to solve with current approach). So guess it's more matter of optimizing path search from a node to output. Before processing forward let's check whether it's indeed something we want and whether the approach is indeed not fully bad. Reviewers: campbellbarton, mont29 Subscribers: sebastian_k Differential Revision: https://developer.blender.org/D1765
2015-11-12Fix error cutting node linksCampbell Barton
Accessing theme from outside drawing code isn't reliable, pass space-type.
2015-08-01Note Editor: Auto-offset nodes on insertionJulian Eisel
Implements "Auto-offset" (called "insert offset" in code) feature for Node Editor, developed during and after LSOC :) Idea and sponsoring by Sebastian König, blendFX, Mathias Eimann, Mikavaa, Knick Design When you drop a node with at least one input and one output socket onto a an existing connection between two nodes, Auto-offset will, depending on the direction setting, automatically and animated move the left or right and all of its following nodes away to make room for the new node. The direction for offsetting can be toggled while you are moving the node by pressing „T“. The auto-offset is enabled by default but can be disabled in the header of the node-editor. The offset margin can be changed in the editing section of the User Preferences. Thanks a lot to the sponsors, and especially to Sebastian who helped *a lot* with this. That's how users can help developing Blender!
2015-08-01Node Editor: A bunch of new utility functionsJulian Eisel
Needed for node insert offset (Auto-offset in UI), but kept separate so people notice it without having to check insert offset commit (not for commit ratio of course ;) )
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2014-11-05Simplify node frame detach operators, based on T34670 by @julien.Lukas Tönne
* The `NODE_OT_parent_clear` operator has been removed. This was a very simplistic operator that detached every selected node, which is not very useful in case of hierarchical frames. The `NODE_OT_detach` operator only detaches the top parent nodes in the selection, keeping the hierarchy of selected nodes intact. * The `ALT+P` shortcut has been reassigned to the `NODE_OT_detach` operator which replaces the previous `NODE_OT_clear` mapping with similar behavior (also gives a menu entry shortcut now). * Shortcuts for `NODE_OT_detach_translate_attach` have been removed, due to crowded and messy keymap and unintuitive shortcut `ALT+F`. This macro operator is still registered, in case hardcore users want to make their own keymaps, but not mapped by default. Node keymaps may need some redesign in the future for these things.
2014-07-04Refactor of Node's 'Select by type' op, to also handle color and name handling.Bastien Montagne
Ne op is similar to other 'Select Grouped' ones in Blender. Based on patch D288 by Cruentus_Nex (Steve). Reviewed by Campbell Barton, thanks! Revision: D288.
2014-06-30Experiment with the compositor border in editorSergey Sharybin
Preserve buffer form previous runs so it's possible to make a compo of full frame, then draw a border and start tweaking nodes and see updates in that border. Main idea is to make it able to visually compare difference between what was changed inside the border and how frame looked before the tweaks outside of the border. Also implemented Clear Viewer Border in compositor, shortcut it Ctrl-Alt-B. Reviewers: lukastoenne, jbakker CC: venomgfx, sebastian_k Differential Revision: https://developer.blender.org/D582
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-11-06Patch #37274: Circle select for node editor, by Henrik Aarnio (hjaarnio).Lukas Toenne
Circle select was missing from node editor, and C key was assigned to now defunct "show cyclic dependencies". This patch remaps the key and adds circle select operator. Functions to check intersection between rctf/rcti and a circle were also added to rct.c for code cleanliness and consistency.
2013-11-06Removed the "Show Cyclic Dependencies" operator for nodes. This operator is ↵Lukas Toenne
an old relic implemented for showing cyclic node connections as red links. This is not necessary any more, the operator simply called the generic node tree update function, which is happening anyway after all relevant node operators (if it doesn't that has to be considered a bug). It has been suggested to better use the C key for circle select, this remains to be discussed.
2013-09-16fix [#36444] view3d.viewnumpad operator should not animateCampbell Barton
when running viewport operations with exec() rather then invoke(), perform the action immediately rather then using smoothview. makes viewport operations usable from python scripts.
2013-09-05Bugfix #35920Ton Roosendaal
Adding a new node in Node Editor failed for "High DPI" (Only Mac retina now). - Py script for adding nodes was doing dpi magic, which it shouldn't. It has been replaced with a (temporary) API call to set the correct cursor location. (Thanks to Lukas T for helping here) - The SpaceNode->cursor[2] property now is *only* storing the coordinate in "adding new node space". Use of this has been removed from the code where possible, with as only exception the code to draw noodles while adding them. Special coder note: Nodes should respect the DPI value, and draw larger with larger buttons if you increase this size. The hack here is that this can only work nice if also the node positions are scaled accordingly. A better fix could be to check on scaling the node view itself for it. That then would also remove this Python API call that was added in this commit. However, that again might fight with how buttons layout code works now... needs some careful checking.
2013-09-01Patch #36622, by Henrik Aarnio: Fit backdrop image to the area dimensions.Lukas Toenne
A new operator to alter the backdrop zoom level so that it fits fully within the node editor area, and centers the image. Shortcut alt-home, as home is used for fitting stuff into the view everywhere.
2013-07-22Allow creation of mask nodes in compositor with drag&drop of mask datablocksSv. Lockal
Also remove superfluous "deselect all" operation in drag&drop for images
2013-06-05Fix #35640, part 2. Check id.lib in poll functions for operators which do ↵Lukas Toenne
critical modification of node trees (create nodes, link, etc.). Transform operators and hide/show type operators are still allowed, this does not modify actual behavior of the nodes and can be useful for inspecting linked nodes.
2013-04-24Fix for #34739 and #35060, avoid ambiguity in compositor viewer nodes.Lukas Toenne
The design changes coming with pynodes for the node editor allow editing multiple node groups or pinning. This is great for working on different node groups without switching between them all the time, but it causes a problem for viewer nodes: these nodes all write to the same Image data by design, causing access conflicts and in some cases memory corruption. This was not a problem before pynodes because the editor would only allow 1 edited node group at any time. With the new flexibility of node editors this restriction is gone. In order to avoid concurrent write access to the viewer image buffer and resolve the ambiguity this patch adds an "active viewer key" to the scene->nodetree (added in bNodeTree instead of Scene due to otherwise circular DNA includes). This key identifies a specific node tree/group instance, which enables the compositor to selectively enable only 1 viewer node. The active viewer key is switched when opening/closing node groups (push/pop on the snode->treepath stack) or when selecting a viewer node. This way only the "last edited" viewer will be active. Eventually it would be nicer if each viewer had its own buffer per node space so one could actually compare viewers without switching. But that is a major redesign of viewer nodes and images, not a quick fix for bcon4 ...
2013-04-13Replacing the node Add menu and making the toolbar usefulLukas Toenne
As some people have already noticed, the "Add" menu for nodes is a bit messy since pynodes merge. The reason for this is that the order of nodes in submenus (categories) was previously defined by the order in which all nodes are registered (at the bottom of blenkernel/intern/node.c). For the dynamic registration of node types now possible this system of defining node order along with registration is no longer viable: while it would still sort of work for C nodes, it is completely meaningless for dynamic (python) nodes, which are basically registered automatically in whatever order modules and addons are loaded, with the added complexity of unloading and reloading. To fix this problem and add a bunch of desirable features this commit replaces the C menu with a python implementation. The new menu does not rely on any particular order of types in the node registry, but instead uses a simple explicit list of all the available nodes, grouped by categories (in scripts/nodeitems_builtins.py). There are a number of additional features that become possible with this implementation: 1) Node Toolbar can be populated! The list of nodes is used to create 2 UI items for each node: 1 entry in a submenu of "Add" menu and 1 item in a node toolbar panel with basically the same functionality. Clicking a button in the toolbar will add a new node of this type, just like selecting an item in the menu. The toolbar has the advantage of having collapsible panels for each category, so users can decide if they don't need certain nodes categories and have the rest more easily accessible. 2) Each node item is a true operator call. The old Add menu is a pretty old piece of C code which doesn't even use proper operator buttons. Now there is a generic node_add operator which can be used very flexibly for adding any of the available nodes. 3) Node Items support additional settings. Each "NodeItem" consists of the basic node type plus an optional list of initial settings that shall be applied to a new instance. This gives additional flexibility for creating variants of the same node or for defining preferred initial settings. E.g. it has been requested to disable previews for all nodes except inputs, this would be simple change in the py code and much less intrusive than in C. 4) Node items can be generated with a function. A callback can be used in any category instead of the fixed list, which generates a set of items based on the context (much like dynamic enum items in bpy.props). Originally this was implemented for group nodes, because these nodes only make sense when linked to a node tree from the library data. This principle could come in handy for a number of other nodes, e.g. Image nodes could provide a similar list of node variants based on images in the library - no need to first add node, then select an image. WARNING: pynodes scripters will have to rework their "draw_add_menu" callback in node tree types, this has been removed now! It was already pretty redundant, since one can add draw functions to the Add menu just like for any other menu. In the future i'd like to improve the categories system further so scripters can use it for custom node systems too, for now just make a draw callback and attach it to the Add menu.
2013-04-03code cleanup: unused functionsCampbell Barton
2013-04-01Node editing feature:Ton Roosendaal
New operator "Find Node". Opens search menu, and allows to find a node based on name or label. On selecting name, menu selects/activates the node and moves the view to it. Shortcut: ALT+F Menu: Node editor, "Select"
2013-03-27Node EditorTon Roosendaal
To complete previous commit: New "Activate same type next/prev" operator - replaces the two not working previous ones. This selects/activates and views the next or previous node of same type. Shortcuts: Shift ] and Shift [
2013-03-27Fix for Node Editor tool "Find next/prev of same type".Ton Roosendaal
This is the first half of the commit, it's going to be reviewed further. It also depends on other work in node drawing (to not reshuffle order on every select/activate). At least it works quite nice for the shortcuts shift [ and shift ]
2013-03-26style cleanup:Campbell Barton
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-22correct enums which were in fact variables defined in headers.Campbell Barton
2013-03-21Add a little bit of space between socket layouts on nodes.Lukas Toenne
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-03-07Border for compositor viewer node featureSergey Sharybin
This adds border option to compositor, which affects on a backdrop and viewer nodes, which is useful for faster previews and tweaks. Final compositing still happens for the whole frame, but if it'll be needed it's not so difficult to support it as well. To use border there's Ctrl-B shortcut in the compositor editor, which i used to define region you want to restrict compositing to. There's also "Viewer Border" option in the N-panel in case you'll want to disable border compositing. Some areas could be cleaned a bit, like ideally it shall not be viewer image clearing in viewer_border_update RNA callback, but currently it's not so much clear how to make it the same fast as simple memset and glue it somehow to compositor. Will think of nicer solution a bit later.