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
2012-03-14Use helper functions in node_select when selecting/deselecting nodes and ↵Lukas Toenne
sockets in operators. This ensure that sockets are not selected on their own (parent node is always selected too).
2012-03-09Node socket selection feature reimplemented from 2.49. Sockets can be ↵Lukas Toenne
selected as a sub-selection of nodes and are then preferred by the auto-connect operator. This makes it easier to create precise links over long distances as an alternative to the click & hold operator. Socket selection is indicated by a simple white highlight circle. Multiple inputs can be selected by holding SHIFTKEY (just like regular node select). Only one output socket can be selected at a time for each node, but several outputs in different nodes are allowed. The auto-connect operator will prefer selected sockets on nodes for creating links. If either the output or input side have no selected sockets it will fall back to the previous behavior of chosing 'best' sockets first (colors, then vectors, then values). This could be improved in the future, but is out of scope here.
2012-03-01A number of improvements for the file output node(s).Lukas Toenne
1) Old CMP_NODE_OUTPUT_FILE and CMP_NODE_OUTPUT_MULTI_FILE have been merged, only CMP_NODE_OUTPUT_FILE remains. All functions renamed accordingly. 2) do_versions code for converting single-file output nodes into multi-file output nodes. If a Z buffer input is used, the node is made into a multilayer exr with two inputs. (see below). Also re-identifies multi-file output nodes with the CMP_NODE_OUTPUT_FILE type. 3) "Global" format is stored in node now. By default this overrides any per-socket settings. 4) Multilayer EXR output implemented. When M.EXR format is selected for node format, all socket format details are ignored. Socket names are used for layer names. 5) Input buffer types are used as-is when possible, i.e. stored as B/W, RGB or RGBA. In regular file output the format dictates the number of actual channels, so the CompBuf is typechecked to the right type first. For multilayer EXR the number of channels is more flexible, so an input buffer will store only the channels it actually uses. 6) The editor socket type is updated from linked sockets as an indicator of the actual data written to files. This may not be totally accurate for regular file output though, due to restrictions of format setting.
2012-02-29Code Cleanup: remove non existing function declarations.Campbell Barton
added some missing functions too - which are not used yep but should be there for api completeness. * CDDM_set_mloop * CDDM_set_mpoly * BLI_mempool_count
2012-02-27Implements a new operator for detaching nodes. In the process i overhauled ↵Lukas Toenne
the node muting system as well. There are a number of features that use a kind of "internal linking" in nodes: 1. muting 2. delete + reconnect (restore link to/from node after delete) 3. the new detach operator (same as 2, but don't delete the node) The desired behavior in all cases is the same: find a sensible mapping of inputs-to-outputs of a node. In the case of muting these links are displayed in red on the node itself. For the other operators they are used to relink connections, such that one gets the best possible ongoing link between previous up- and downstream nodes. Muting previously used a complicated callback system to ensure consistent behavior in the editor as well as execution in compositor, shader cpu/gpu and texture nodes. This has been greatly simplified by moving the muting step into the node tree localization functions. Any muted node is now bypassed using the generalized nodeInternalRelink function and then removed from the local tree. This way the internal execution system doesn't have to deal with muted nodes at all, as if they are non-existent. The same function is also used by the delete_reconnect and the new links_detach operators (which work directly in the editor node tree). Detaching nodes is currently keymapped as a translation variant (macro operator): pressing ALTKEY + moving node first detaches and then continues with regular transform operator. The default key is ALT+DKEY though, instead ALT+GKEY, since the latter is already used for the ungroup operator.
2012-02-22Adds a new node type for saving multiple image files from a single node.Lukas Toenne
Unlike the existing file output node this node has an arbitrary number of possible input slots. It has a base path string that can be set to a general base folder. Every input socket then uses its name as an extension of the base path for file organization. This can include further subfolders on top of the base path. Example: Base path: '/home/user/myproject' Input 1: 'Compo' Input 2: 'Diffuse/' Input 3: 'details/Normals' would create output files in /home/user/myproject: Compo0001.png, Compo0002.png, ... in /home/user/myproject/Diffuse: 0001.png, 0002.png, ... (no filename base given) in /home/user/myproject/details: Normals0001.png, Normals0002.png, ... Most settings for the node can be found in the sidebar (NKEY). New input sockets can be added with the "Add Input" button. There is a list of input sockets and below that the details for each socket can be changed, including the sub-path and filename. Sockets can be removed here as well. By default each socket uses the render settings file output format, but each can use its own format if necessary. To my knowledge this is the first node making use of such dynamic sockets in trunk. So this is also a design test, other nodes might use this in the future. Adding operator buttons on top of a node is a bit unwieldy atm, because all node operators generally work on selected and/or active node(s). The operator button would therefore either have to make sure the node is activated before the operator is called (block callback maybe?) OR it has to store the node name (risky, weak reference). For now it is only used in the sidebar, where only the active node's buttons are displayed. Also adds a new struct_type value to bNodeSocket, in order to distinguish different socket types with the same data type (file inputs are SOCK_RGBA color sockets). Would be nicer to use data type only for actual data evaluation, but used in too many places, this works ok for now.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-08Improved auto-hiding of unused sockets for collapsed nodes.Lukas Toenne
Instead of generally hiding all unused sockets in collapsed mode, the sockets now have a new explicit flag SOCK_AUTO_HIDDEN, which is only toggled when the hide_toggle operator is called. This way the auto-hidden sockets stay as they are when nodes are duplicated etc. The new flag is necessary to distinguish between manually hidden sockets (via hide_sockets_toggle operator) and automatically hidden sockets and restore the node state when unhiding a node.
2011-12-18Fix for toggle buttons in node headers.Lukas Toenne
The buttons for "hiding" (collapsing) a node, hiding unlinked sockets, additional options, the preview and for opening a node group were all using a custom mouse test function, which was broken. They now use actual buttons instead of just displaying icons. Before executing the respective operators the button's node has to be selected and activated, so the buttons use an intermediate handle function, which selects the node and then calls the operator.
2011-11-05use (const char*) rather than (char*) where possible.Campbell Barton
also removed some unused function definitons.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-27fix for building on windows, clear some warnings tooCampbell Barton
2011-09-06Merged the particles-2010 branch with node improvements into trunk.Lukas Toenne
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too. Detailed information can be found on the wiki page: http://wiki.blender.org/index.php/User:Phonybone/Particles2010
2011-08-12Nodes: make node set active function usable outside of node editor, and in doingBrecht Van Lommel
so fix a missing updating when activating a node with multiple node editors open.
2011-07-12Add delete with reconnect feature.Jeroen Bakker
this will reconnect nodes as if the deleted node is muted. Operation is added to the space_node node menu and to the keymap as CTRL-X to test this just add some nodes to the space_node select one or multiple nodes and press CTRL-X It should reconnect the nodes as they were muted limitations: 1. it performs a delete and reconnect per node. It does not evaluate all selected nodes as one whole 2. mute only supports Value, Vector and Color data types, so does this feature 3. not usable for nodes where input and output does not match (like colorToBW) Where reconnect could not be preformed the links will be removed from the model. Undo works with this delete with reconnect.
2011-06-14Nodes display now follow 'DPI' user pref tooTon Roosendaal
2011-05-02Fix #27098: missing 3d view updates when editing GLSL material nodes.Brecht Van Lommel
2011-04-23Color info in node editor backdrop now supports color management.Lukas Toenne
2011-03-14Fix for crashes due to links without fromnode pointers. This can happen with ↵Lukas Toenne
"unfinished" links created during the modal linking operator or when creating links from group tree inputs. In addition don't store unfinished links in the nodetree->links list any more. This makes code a bit safer because all links in that list can be considered valid now. The temporary bNodeLinkDrag structs used by the modal linking operator are now also stored in a list in SpaceNode, so these links can be drawn too (this separation also allows different display of temporary links, e.g. currently they are drawn on top of all nodes).
2011-02-27doxygen: blender/editors tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-21Big node groups improvement patch. Node group trees now have their own lists ↵Lukas Toenne
of input/output sockets. Those can be linked to internal nodes just like links between regular nodes. In addition group sockets can be renamed and have a defined order, which can be modified, and they can be removed again. More details can be found in the patch tracker description (#24883) and on the code.blender.org development blog.
2011-02-15moving dir strings into global namespace for doc access (coming up)Campbell Barton
2011-02-08Per-type node labels and customizable names. The label displayed in the node ↵Lukas Toenne
header is now by default the node type string. A custom label callback can be implemented to display more detailed information. This is currently used by group nodes, which display their internal tree name, and math, vector math, mix and filter nodes, which use their internal operation sub-type. Also the node tree selection/naming box for groups is now displayed only on open groups, to make it clearer that this is the internal type of the group and get a cleaner main tree.
2011-02-07Todo/feature requestTon Roosendaal
When using masks or other simple 3D elements in composites, doing a layer re-rendering on a node is a bit clumsy all the time. This commit does two things to help: - new hotkey "Z" in node editor automatically finds render layer that changed and re-renders it + composites - option "Auto Render" does same, but then after every transform edit in 3D window The latter is experimental; real & proper system for this requires full threaded render support (like previews). But it works! Demo file: http://download.blender.org/demo/test/auto_composite.blend Important fix: After any render, all the render layers were tagged "changed", which caused any edit to first totally recomposte everthing. Now it only composites changes. Implementation notes - DAG scene flush now sets 'changed' flags in render layer nodes - Added notifier for 'transform finished' to trigger the update, this is temporarily.
2011-01-31Added backdrop image color information to the node editor. When clicking on ↵Lukas Toenne
empty space in the node editor, the pixel color values will be displayed on the bottom like in image editor.
2011-01-09several cosmetic changes to the node-editorM.G. Kishalmi
+ changed lines connecting nodes: they now use a linewidth of 1.5px for the light foreground and 4px for the dark background. this should fix node-lines not being visible on almost black or all white backdrops. + muted nodes now also show a red tinted header if they are hidden (collapsed) + both active and selected nodes show a (now properly antialiased) highlighting frame + fixed a small error in dropshadow code resulting in a gap at borders + fixed a tiny error for the collapsing indicators (triangles) - they were not symmetrical. Ton will add proper theme colors for the node-editor in the coming days.
2010-10-15bugfix [#24264] toggle UV selection fails.Campbell Barton
was using the 4th selection flag on tri's. also some minor changes, removed unused args and corrected some comments.
2010-06-08node toggle preview and hidden socket key shortcuts (Ctrl+H, Shift+H)Campbell Barton
2010-05-12Small change to Node Space and two new function.Diego Borghetti
"Select all of the same type" now is binding to Shift + GKEY Two new function, select next and prev node of the same type. Select a node and press Shift + [ or Shift + ] go to the previous and next node of the same type (of the active node).
2010-05-12Node Space: Small feature for Venomgfx, Shift + F select node of the same typeDiego Borghetti
This is a small request from Venomgfx, select a node and then press Shift + F to select all the nodes of the same type (of the active node). The key binding can be change, we thing in a "Find Next" (that is way the FKEY) with venomgfx, but no problem with change that. Also I add the entry in the select menu.
2010-05-12Another one for drag and drop:Matt Ebb
Allow dropping image files from outside blender, or image datablocks from inside blender to the compositing node editor, to add an image node. Also small tweak: Only set 'path' properties on drops, if the drag->path isn't empty.
2010-04-08three things:Ton Roosendaal
- ALT+Scrollwheel zooms backdrop in node editor - Blender -d debug print will also print every event except mouse moves (needed to debug WM, some events are catched by OS) - Changed order of keymaps... the default maps now are evaluated *after* the own custom maps, so you can make overrides or defaults.
2010-04-07The daily node commit: brought back panning background image.Ton Roosendaal
For now it is on ALT+MiddleMouse. The view2d code eats the shift+mmb, which is not necessary, but will have to ask Joshua to be sure. Probably tomorrow it's shift+mmb as for 2.49.
2010-04-06Brought back:Ton Roosendaal
Node R-key: read scene layers (from temp buffers) SHIFT+R: read full sample layers.
2010-04-05Request: auto link to viewer node back. Used to be ctrl+click, is nowTon Roosendaal
shift+ctrl+click, because the ctrl_click goes to knife cutting. Implementation note: this is a macro, select + link.
2010-03-21Fix syntax for ID keyword.Guillermo S. Romero
2010-02-12correct fsf addressCampbell Barton
2010-01-21Fix [#20749] Mute doesnt refresh the compositorMatt Ebb
2010-01-13Fix: wasn't able to rename node group nodetree name, or access the nodetree ↵Matt Ebb
at all. Now you can switch between them too. Wrapped group nodes in RNA as part of this.
2010-01-05* Modifications to node editor 'make links' tool, after some requests by SoenkeMatt Ebb
Now it automatically decides how to connect the nodes up, based on the node positions. This lets you do fun stuff like in this video: http://www.vimeo.com/8548698
2010-01-04* Tweaks for node editor Make Links (F key)Matt Ebb
Testing a new method that hopefully will be faster to use than finicky socket selection - now just select multiple nodes and press F - available output sockets on the selected nodes will get automatically connected to the active node. It works for one socket type each time, to avoid getting lots of extra connections when you join up, but as a shortcut you can easily press F again to connect up other socket types. For example, to connect a render layer node (with vector pass) to a vector blur node, select the render layer then the vector blur, and press F three times to connect up the Image, Z and Vector sockets. It now also preferences sockets with the same name to connect up first. There's also another option (ctrl F) which will replace existing input links, rather than only connecting up links to available input sockets. * Also changed socket link knife cut to a more convenient shortcut - Ctrl LMB tweak
2009-11-21Nodes Editor: Restored 'Show Cyclic Dependencies' Operator (CKEY)Joshua Leung
2009-11-21Node Editor - More Cleanups (Reshuffling):Joshua Leung
- removing duplicate chunks of code -> hide unused sockets now works - moving some functions to the files that they get called from -> view all/home - made duplicate a macro operator like the other places that work like this, eliminating the unnecessary transform-related property there still - removed a few chunks of unused code
2009-11-20More Node Editor Fixups:Joshua Leung
* Restored Mute and Hide Operators, M and H keys respectively * Restored Make Links Operator (F). However, I can't figure out how to set the sockets so that this can be used * Made Alt-RMB the new hotkey for breaking links by dragging, since Alt-LMB was taken for panning already
2009-11-20Node Editor: Various usability and code tidyupsJoshua Leung
* Fixed a nasty bug which meant that it was impossible to set an active node. Was caused by ntreeCopyTree() getting called when compo updates were done and clearing the active flags. The active flag clearing is only really needed for the "internal_select" case which is only used for duplicating selected nodes (from Shift-D duplicate). * Recoded click-selection code. Was a mess of old code, bad exceptions from the old code half ported, duplicate operators, unnecessary flags/modes. * Fixed bug #19927: compositing node groups can't be access via "tab" or ungrouped via "alt+g". Was probably related to the active group not being able to be set. * Made resizing nodes work again. Again, this was due to the active node bug. * Made adding a new group with Ctrl-G correctly update the views
2009-11-11Grease Pencil for Nodes Editor:Joshua Leung
This commit restores Grease Pencil functionality for the Nodes Editor. Grease Pencil data is now stored at the NodeTree level, which means that annotations remain with the NodeTree they were made for. Possible TODO's: * In future, it may be worth investigating attaching Grease Pencil data to individual nodes, to allow annotations to stay attached to nodes as they are moved * Include the settings for the 'active node' in a panel in the new NKEY region where the Grease Pencil buttons appear.
2009-10-08Key ConfigurationBrecht Van Lommel
Keymaps are now saveable and configurable from the user preferences, note that editing one item in a keymap means the whole keymap is now defined by the user and will not be updated by Blender, an option for syncing might be added later. The outliner interface is still there, but I will probably remove it. There's actually 3 levels now: * Default builtin key configuration. * Key configuration loaded from .py file, for configs like Blender 2.4x or other 3D applications. * Keymaps edited by the user and saved in .B.blend. These can be saved to .py files as well to make creating distributable configurations easier. Also, user preferences sections were reorganized a bit, now there is: Interface, Editing, Input, Files and System. Implementation notes: * wmKeyConfig was added which represents a key configuration containing keymaps. * wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap. * Modal maps are not wrapped yet. * User preferences DNA file reading did not support newdataadr() yet, added this now for reading keymaps. * Key configuration related settings are now RNA wrapped. * is_property_set and is_property_hidden python methods were added.
2009-10-08Node Bugfixes:Brecht Van Lommel
* Compo node backdrop works again. * Compo node previews and backdrop now get correct color management float to byte conversion. * Compo nodes got unecessarily recalculated while moving nodes. * Fix compo node viewer nodes not getting activated correctly. * Main compo node preview render computations are now outside of mutex lock, so better for multithreading. * Tex node outputs did not work in some files loaded from 2.4. * Change RNA updates to take into account groups that may be shared between multiple node trees.
2009-09-152.5: node group/ungroup/edit operators, patch by Michal Ziulek,Brecht Van Lommel
with some small changes.