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-10-01fix for some errors when unlinking.Campbell Barton
- movieclip unlink didn't clear node ID pointers from the scene (leaving dangling pointers). - mask datablock unlink was clearning references from scene nodes twice.
2012-09-30style cleanupCampbell Barton
2012-09-15code cleanup: modify DO_INLINE define to not use __inline with mingwCampbell Barton
make RegisterBlendExtension_Fail a static func u
2012-09-15quiet -Wmissing-prototypes warnings, and enable this warning by default for ↵Campbell Barton
C with gcc. helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-04code cleanup: move file string defines into BLI_path_utils.h, ↵Campbell Barton
BKE_utildefines is now unused but keep incase we want to add defines there later.
2012-08-29texture curves were not initialized (causing crash), own regression from ↵Campbell Barton
moving curve initialization outside evaluation.
2012-08-23style cleanupCampbell Barton
2012-08-09Fix for the default internal connect function for nodes (used in muting, ↵Lukas Toenne
detaching, etc.). This is supposed to look for the first input/output of every socket type, but was actually taking the first matching link from the link list, regardless of the linked socket's position.
2012-08-06Fix for incomplete Reroute node updates. Adding reroute nodes by spliting ↵Lukas Toenne
links would often result in unrelated color sockets or otherwise miss updates. The reason is that the per-node updates used for Reroute node type inheritance are not supposed to be looking at connected nodes, they are purely for "local" updates. For this sort of "global" update which requires depth-first search, the update function on the node tree level must be used instead.
2012-08-06Fix for Reroute nodes: Reloading could change socket types without updating ↵Lukas Toenne
the socket data structs, leading to crash. This is caused by the node verification procedure, which resets any socket type to the initial type defined in the socket templates. Adding sockets dynamically without templates solves this (the sockets are then ignored by verification).
2012-07-03More spell and typo fixes (mostly visualise->visualize, grey->gray, ↵Bastien Montagne
normalise->normalize).
2012-06-12Modification of node groups by adding/removing nodes is not possible yet. ↵Lukas Toenne
This patch extends the 'Make Group' operator and adds a new 'Separate' operator to add such functionality. 1) For inserting into existing groups: The 'Make Group from selected' (CTRL+g) operator shows a selection popup (like the object parenting operator), with options depending on the type of the active node (last selected): * "New" -> regular operator, creates new group type with all selected nodes inside. * "Insert" (only if active node is a group) -> adds all other selected nodes into the group. Currently still prohibits groups inside groups in general, though would be technically possible as long as no actual recursion occurs (group containing itself). 2) For extracting from an existing group: New 'Separate from group' operator (p), works similar to separating vertices/edges/faces from mesh. Two modes: * "Copy" makes a copy of the nodes in the parent tree, but keeps the original group intact. * "Move" removes selected nodes from the node group and adds them to the parent tree
2012-06-12Reroute node socket types update automatically from connections when ↵Lukas Toenne
possible. This prevents unnecessary conversions and breaking connections when linking incompatible types to the reroute color sockets (point in case: cycles shaders).
2012-06-11Fix for node 'make group' operator in combination with frame nodes. When a ↵Lukas Toenne
selected node is attached to an unselected frame, the parent pointer would end up pointing to a different ID data block.
2012-06-05style cleanupCampbell Barton
2012-06-01Added NULL-pointer check to avoid crash in node editor. Fixes #31664Konrad Kleine
2012-06-01Reroute nodes, by Jeroen Bakker (patch #28443).Lukas Toenne
By holding shift and "cutting" a node link a new reroute helper node can be inserted. This consists of a single socket that can be used to insert additional connection points into a link. This can be used to keep a connection point in the tree when deleting a node, or to control the path of long connections for layout cleanup.
2012-05-27style cleanupCampbell Barton
2012-05-23style cleanupCampbell Barton
2012-05-22A number of new features for the node editor in general and the Frame node ↵Lukas Toenne
in particular. For an detailed user-level description of new features see the following blogpost: http://code.blender.org/index.php/2012/05/node-editing-tweaks/ TL;DR: * Frame node gets more usable bounding-box behavior * Node resizing has helpful mouse cursor indicators and works on all borders * Node selection/active colors are themeable independently * Customizable background colors for nodes (useful for frames visual distinction).
2012-05-21Quiet null pointer free warning/error.Campbell Barton
2012-05-19code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also ↵Campbell Barton
replace do prefix with do_ for bool vars.
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-05-02Fix #31236: linking a socket of a different type to an existing node group ↵Brecht Van Lommel
output would crash, did not convert default value storage correctly.
2012-04-29style cleanup: function calls & whitespace.Campbell Barton
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-22style cleanup: commentsCampbell Barton
2012-03-28code cleanup: (dont include ';' in defines), last commit also missed changes ↵Campbell Barton
to paint_image.c
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-22Fix for #30627. This improves the behaviour of the internal_reconnect ↵Lukas Toenne
function for dissolving, detaching and muting nodes a bit. Instead of only linking a single, perfectly matching socket pair it now connects all outputs of a type to the first input of the same. Also if no such connections can be made it simply links the first connected input to the first connected output. This is the previous behaviour of the delete_reconnect operator (ctrl+x).
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-01Spelling CleanupCampbell Barton
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-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-21Fix for missing NULL check in socket default_value free function. Some ↵Lukas Toenne
sockets (currently only cycles shader sockets) don't actually have a default_value pointer.
2012-01-20Minor fix for socket default value conversion. The switch statement would ↵Lukas Toenne
not break correctly.
2012-01-20Cleanup of default_value handling in node sockets.Lukas Toenne
The structs stored in the anonymous void *default_value in bNodeSocket are now handled completely inside node_socket.c. All allocation/freeing/duplicating for this has been replaced by the appropriate calls to generic API functions (declared in NOD_socket.h). This will make the default value handling more reliable for future node socket code. Group socket copying and value conversion has also been moved into the generic socket API file.
2012-01-14fix [#29887] Alt + g in a node group results in crash Campbell Barton
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-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-20Muting node patch: first partBastien Montagne
This allows node type init code to have access to the nodetree type object (needed to allow generic muting node initialization). Huge and boring edits...
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-02RenderEngine/Nodes: system to check for shading nodes compatibilityBrecht Van Lommel
* Scene.use_shading_nodes property to check if RenderEngine is using new shading nodes system, and RenderEngine.bl_use_shading_nodes to set this. * Add mechanism for tagging nodes as being compatible with the old/new system.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-10-20Fix for #28980, could enter infinite loop during node socket verification if ↵Lukas Toenne
dynamic sockets are present. Note: in this particular bug report the sockets have some faulty flag settings (none of them should be flagged as SOCK_DYNAMIC), needs more info.
2011-10-20strcpy() --> BLI_strncpy(), where source strings are not fixed and target ↵Campbell Barton
size is known.
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-10-15- add template for defining custom driver functions.Campbell Barton
- comment unused assignments.
2011-10-14Fix #28914: crash loading file saved with cycles builds in trunk.Brecht Van Lommel
The cause is an unknown node socket type in node groups. Ideally the node system should handle this better and remove the unknown sockets from groups, but this is a bit of a risky fix to do now, so instead the shader socket type has been added, since this is a simple change and the code has been tested well.
2011-10-12Free cache data when creating a new group from selected nodes. This would ↵Lukas Toenne
leave unfreed memory behind otherwise, since node groups don't have internal caches.