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-26style cleanupCampbell Barton
2012-10-25Internal node links are now cached in a per-node list, instead of being ↵Lukas Toenne
generated as a transient list that is returned from the callback and had to be freed by the caller. These internal links are used for muted nodes, disconnect operators and reroute nodes, to effectively replace the node with direct input-to-output links. Storing this list in the node has the advantage of requiring far fewer calls to the potentially expensive internal_connect callback. This was called on every node redraw ... Also it will allow Cycles to properly use the internal links for muted nodes, which ensures consistent behavior. The previous method was not applicable in Cycles because transient list return values are not supported well in the RNA and particularly the C++ API implementation.
2012-10-25Cycles UI: keep node input sockets collapsed by default in the properties ↵Brecht Van Lommel
editor, when doing the linking in the node editor, to keep the properties editor more clean in this case.
2012-10-24Fix #32835, Reroute node on shading nodes connection gives wrong renders.Lukas Toenne
Problem here is that muted nodes and reroute nodes are supposed to be removed from the execution node tree during the localize function. However, this is function is apparently only used during preview renders and must be considered a hack (is there anything that is not a hack in BI?) Now the mute/reroute check happens in the node tree exec functions still used by BI and the legacy compositor and texture nodes. It uses the same internal_connect function from nodes to assign input stack indices directly to outputs (which also avoids overhead). Localize function also still does this. Cycles/Tile should also implement muting/reroute in their intermediate node layers by using this function, then it could be removed from localize too.
2012-10-24Removed the experimental (and commented-out) code for FOR and WHILE loops in ↵Lukas Toenne
nodes. This was a feature i tested a while back but was only partially supported by Blender Internal renderer and the old compositor. The main idea was to have nodes that automatically mirror input and output sockets to support incremental changes of "internal variables". It is not a well-supported feature of the primary node systems (shader, compositor, texture) in Blender. If anybody wants to create a node system that has actual use for loops, they can do so much more elegantly with Python nodes, but it does not have to be a core node type in Blender. Removing this should ease node code maintenance a bit.
2012-10-23style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.cCampbell Barton
2012-10-22style cleanupCampbell Barton
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.