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-17Big step forward nodes UI translation:Bastien Montagne
*Add menu is now translated. *Nodes' title is now translated. *Nodes' sockets' labels are now translated. However, about the last point, and unless I’m mistaking, we’ll have to add the "i18n tag" N_() to all sockets' names, in the input/ouput templates declaration, in all nodes' files, as those sockets are collections created at runtime, I think po-generating script has no way to access that from bpy.types... Quite a piece of (borring) work. :/
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-03style cleanup - use aligned * prefixed blocks for descriptive comments (was ↵Campbell Barton
already used a lot and part of proposed style guide).
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-01-11dynamicpaint had some incorrect string sizes for layers names, use BLI ↵Campbell Barton
string functions in more places too.
2012-01-11minor cleanup for string use - no functional changesCampbell Barton
- use more logical names for strings, noticed too many strings called `str` when reviewing name patch. - pass __func__ macro to uiBeginBlock(), quite a few names were wrong (copy/paste error).
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-19Automatically hide unused (=unlinked) node sockets in collapsed ("hidden") ↵Lukas Toenne
nodes. This is to make nodes with many sockets cleaner and simpler, which is the purpose of collapsing nodes in the first place. The hiding code uses the SOCK_IN_USE flags already present. These were only temporarily set by the shader node code for determining needed texture coordinate types. Now they are used persistently and updated along with the sock->link pointers.
2011-12-18Removed buttons in node headers for hiding unused sockets and for hiding the ↵Lukas Toenne
(non-socket) option buttons. These are rarely used buttons that only complicate the UI. Alternatively these operators can still be accessed in the Node menu of the node editor window, "Toggle Hidden Node Sockets" and "Toggle Node Options" respectively.
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-12-06Fix related to #29513: materials using nodes will output passes from the activeBrecht Van Lommel
material node. This is a confusing system, but two features were missing from 2.4x that made this at least a bit more clear: * The top right icon in the node now shows brighter again for the active node. * Setting a material datablock in a node makes that node active.
2011-11-24Fix for wrong event clipping in open node groups (bug #29383). The internal ↵Lukas Toenne
node blocks of the group were created before the group node block itself, so the node group block clips events for internal nodes. Generally, blocks should be created just like the drawing order.
2011-11-22Fix for long-standing TODO item: Clicking on overlapping nodes would ↵Lukas Toenne
activate buttons below. This patch adds a new CLIP_EVENTS flag for uiBlock, which will prevent the ui_but_find_mouse_over search function from looking into "lower" uiBlocks (i.e. those further back in the list). The order of block creation for nodes has also been updated to use the z-ordering (just the nodetree->nodes list). In order for this to work, the bounding box values of the uiBlocks have to be set explicitely to fit the node size, those are usually either zero or calculated from the internal buttons.
2011-11-20Muting node patch: second part. Also fix [#27636] Muting shading nodes is ↵Bastien Montagne
ignored Now, compositing, shading and texture nodes have a consistent muting system, with default behaving as previous (for compo), and which can be optionaly customized by each node. Shader nodes are also GLSL muted. However, Cycles is currently unaware of muted nodes, will try to address this…
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-11-07Nodes: add socket option to hide the default value in the UI, to be used forBrecht Van Lommel
sockets that get their default value if no node is connected from elsewhere, e.g. a texture coordinate.
2011-11-02Nodes: add support for shader nodes on world and lamps, in addition to ↵Brecht Van Lommel
materials. The internal render engine does not support them, and they are not accesible in the UI yet, but cycles will use them.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-19Adds an update flag to the bNode struct (similar to bNodeTree->update).Lukas Toenne
This prevents access to non-existent typeinfo during type initialization, when node types have been removed and such nodes are deleted from older files. All blenkernel functions now only set the node->update flag instead of directly calling the update function. All operators, etc. calling blenkernel functions to modify nodes should make a ntreeUpdate call afterward (they already did that anyway). Editor/RNA/renderer/etc. high-level functions still can do immediate updates by using nodeUpdate and nodeUpdateID (replacing NodeTagChanged/NodeTagIDChanged respectively). These old functions were previously used only for setting compositor node needexec flags and clearing cached data, but have become generic update functions that require type-specific functionality (i.e. a valid typeinfo struct).
2011-09-15svn merge -r39834:40222 https://svn.blender.org/svnroot/bf-blender/trunk/blenderSergey Sharybin
2011-09-11replace magic numbers for flags for uiSetRoundBox();Campbell Barton
2011-09-08Minor fixes for some unfounded clang warnings.Lukas Toenne
2011-09-06fix some complier warnings and add -Wundef to CMake's default GCC warnings.Campbell 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-07-29merge with trunk r38787Xiao Xiangquan
2011-07-27more minor warning cleanups and improve error reporting if text fails to save.Campbell Barton
2011-07-16select uiStyle according to UserDef and update lang-packsXiao Xiangquan
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-03-25Moved temporary drag operator link drawing from node tree to node space ↵Lukas Toenne
function. Otherwise these links are redrawn for each node group. Changed selection flag used for the selected_nodes context property from SELECT to NODE_SELECT. These are just incidentally the same, but NODE_SELECT should be used for nodes.
2011-03-17Added an optional label string to nodes. As pointed out by Sebastian Koenig, ↵Lukas Toenne
some nodes (in particular render layer nodes) need custom labels, but it is not possible to make any useful generic abbreviation. The label string can be used as a custom user-defined label in this case, without the ugly .xxx extensions needed for unique node names. When the label string is empty, the default type label will be used.
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-03-11move do_version code under latest subversion bump.Campbell Barton
2011-03-11Bugfix [#26167] Animating inside group nodes behaves strangelyJoshua Leung
One node update call (for nodes within group nodetrees) was using the wrong nodetree (node-editor's nodetree, not the group) which meant that the wrong RNA context for such nodes would get used, resulting in errors when trying to keyframe such nodes. Hopefully this is the last time I have to fix these bugs...
2011-03-05use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf ↵Campbell Barton
& editors.
2011-03-01Small fix for node drawing: nodes with no sockets now have a minimum height ↵Lukas Toenne
to avoid opengl drawing artifacts.
2011-02-27doxygen: blender/editors tagged.Nathan Letwory
2011-02-27== UI icons ==Andrea Weikert
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-23Empty groups are now displayed with some basic spacing in edit mode. Long ↵Lukas Toenne
socket lists don't outgrow the group box any more; the box height is adjusted to fit the length of the socket list instead.
2011-02-22Added RNA functions to group tree inputs/outputs for exposing internal ↵Lukas Toenne
sockets or adding custom sockets by name and type (fixes #26171). Changed a few function names for groups for consistency.
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-18Bugfix #26101Ton Roosendaal
Node editor: icons in header sometimes were on wrong locations. The click hotspots were also off...
2011-02-14made most variables which are only used in a single file and not defined in ↵Campbell Barton
header static for blenlib, blenkernel and editors.
2011-02-13many functions in blender are not marked static but should be.Campbell Barton
most local modifier,GPU,ImBuf and Interface functions are now static. also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
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-01-31Changed alpha blending mode for image editor and node previews. This was ↵Lukas Toenne
using the sum of the image and alpha-faded background, leading to almost-white transparent areas. New code uses correct GL_SRC_ALPHA for the source image.
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.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.