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-08Modified behaviour of the link-insertion operator (drag on link, request by ↵Lukas Toenne
Sebastian Koenig). This would previously attempt to find a socket with exactly matching type to the from/to sockets of the cut link, but this is annoying because it often links to the "secondary" sockets, such as Factor input in the Mix node. New behaviour is to choose the input/output for reconnection based on the "highest" (= most important) socket types (in order color, vector, value), like the autoconnect operator (FKEY) also does. It is far from ideal and will probably not work in all situations either, but until we have a detailed design for "best sockets to auto-link" this will have to do.
2012-03-07style cleanup - braces & else / if'sCampbell Barton
2012-03-06style cleanup, brackets in else/if, some indentation.Campbell Barton
2012-03-04Small feature for the viewer linking operator: When no viewer node is ↵Lukas Toenne
present in the tree, it automatically adds a new one next to the output socket. Also changed the poll function of that operator to make sure it actually only works on compositor trees (others don't have viewer nodes).
2012-03-04style cleanup - comment spelling + translate some dutch.Campbell Barton
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-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-27Quite a warning (unused param in func), was preventing debug build...Bastien Montagne
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-27style cleanup (mostly whitespace)Campbell Barton
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-07Code Cleanup:Campbell Barton
don't call CTX_data_scene(C) for every marker drawn also remove unneeded call when scene was already defined as well as redundant scene cast.
2012-01-30Removed check for active node in edited node group to allow node group ↵Lukas Toenne
editing toggle. This enables closing an empty node group again (after removing all nodes or when empty group is added via menu). Fix for bug #30018.
2012-01-24Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot ↵Sergey Sharybin
determine dates Added option display_type to WM_operator_properties_filesel which defines which file display type (short/list/icons/default) should be used for file browser. All current operators are using FILE_DEFAULTDISPLAY display type which means display type will still be calculated based on type of opening file and user preferences settings. Recover Auto Save operator is now using long display type so file date can easily be checked now. Reviewed by Andrea, thanks!
2012-01-20quiet warnings for using uninialized color var in ED_image_draw_info().Campbell Barton
2012-01-12de-duplicate function copy-paste for node color sampling.Campbell Barton
2012-01-11rename RNA_property_is_set() --> RNA_struct_property_is_set() in preperation ↵Campbell Barton
to add a second version of the function which takes the property rather then its name.
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2012-01-09Tag unused argumentSergey Sharybin
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-12-10In the node space context update function: Properly clear the ↵Lukas Toenne
snode->edittree pointer when no snode->nodetree is active. This would lead to crash in operators when switching from an existing node tree, since the usual poll function only tests for the edittree. Fixes bug #29566.
2011-12-02Fix #27626: nodes inside groups can't be muted. There was a check here toBrecht Van Lommel
disable this, but with recent node muting patch and node group changes it should work now.
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-08Texturing: texture and 3d view draw type changes, these should only have anyBrecht Van Lommel
effect for a render engine using new shading nodes. In short: * No longer uses images assigned to faces in the uv layer, rather the active image texture node is what is edited/painted/drawn. * Textured draw type now shows the active image texture node, with solid lighting. * Material draw mode shows GLSL shader of a simplified material node tree, using solid lighting. * Textures for modifiers, brushes, etc, are now available from a dropdown in the texture tab in the properties editor. These do not use new shading nodes yet. http://wiki.blender.org/index.php/Dev:2.6/Source/Render/TextureWorkflow
2011-11-08Nodes: add cycles shader nodes, these will only be available to render enginesBrecht Van Lommel
that use the new shading nodes system. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes
2011-11-08Code cleanup and small fixes:Sergey Sharybin
- Assume all areas are using valid MovieClipUser when using functions from movieclip.c - Set active scene clip to movie-related nodes in compositor rather than checking if there's only one clip in datablocks - Fixed users count issue when solving camera motion
2011-11-07Camera tracking integrationSergey Sharybin
=========================== Rest of changes from camera tracking gsoc project. This commit includes: - New compositor nodes: * Movie Clip input node * Movie Undistortion node * Transformation node * 2D stabilization node - Slight changes in existing node to prevent code duplication
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-22Code cleanup: file operations merged into single header, some function namesBrecht Van Lommel
made less cryptic and changed to indicate if they work on files or directories.
2011-10-22header cleanup and typo'sCampbell Barton
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-28whitespace edits, make formatting for functions consustent at least within ↵Campbell Barton
the file.
2011-09-22Fix #28365: some macro operators were missing descriptions.Brecht Van Lommel
2011-09-22Fix #28585: read full sample layers not working in compositor.Brecht Van Lommel
2011-09-20tag & comment unused vars with /* UNUSED */Campbell Barton
2011-09-19/blender/editors: Removed final points in UI strings and messages.Bastien Montagne
Plus a few cuts in very long lines…
2011-09-18Minor: Other UI strings typos and tweaks.Bastien Montagne
2011-09-08Minor fixes for some unfounded clang warnings.Lukas Toenne
2011-09-07Node comparison function for sort order did not take parent selection into ↵Lukas Toenne
account.
2011-09-07Updating render layer and image output sockets was not working due to ↵Lukas Toenne
changes in snode_set_context. Before the r39941 this used a hack to 'test for first drawing', but since the snode->nodetree was set to NULL each time at the start of that function the condition would always evaluate true anyway. Simply removed that check to restore previous behavior.
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-08-25Patch for bug #28289Jeroen Bakker
updated the logic behind node delete with reconnect. When on input and output socket is connected, these two will be reconnected see bug report for example. http://projects.blender.org/tracker/?func=detail&aid=28289&group_id=9&atid=498
2011-08-21Small fix, report in IRC by Olivier:Ton Roosendaal
Click in Compositor on output node invoked a re-composite. Only has to be done for inactive outputs.
2011-08-162.6 Node Muting:Thomas Dinges
* Removing check if Node is in between, so in-/output nodes can be muted as well. Useful for example if you want to temporarily mute a file output node.
2011-08-15Code cleanup: add UNUSED_FUNCTION macro to avoid warning messages about unusedBrecht Van Lommel
functions.