Commit Graph

184 Commits

Author SHA1 Message Date
Lukas Toenne
33b1939aee In the node space context update function: Properly clear the 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-10 15:52:08 +00:00
f96aad6688 Fix #27626: nodes inside groups can't be muted. There was a check here to
disable this, but with recent node muting patch and node group changes it
should work now.
2011-12-02 15:08:27 +00:00
6673c76e78 Muting node patch: second part. Also fix [#27636] Muting shading nodes is 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-20 16:38:23 +00:00
28ee0f9218 Texturing: texture and 3d view draw type changes, these should only have any
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-08 13:07:16 +00:00
db75cc4cde Nodes: add cycles shader nodes, these will only be available to render engines
that use the new shading nodes system. Documentation:

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes
2011-11-08 11:38:16 +00:00
23dfb8a156 Code cleanup and small fixes:
- 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-08 06:11:23 +00:00
7b43abb90e Camera tracking integration
===========================

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-07 12:56:05 +00:00
30f1f28a8a Nodes: add support for shader nodes on world and lamps, in addition to materials.
The internal render engine does not support them, and they are not accesible in
the UI yet, but cycles will use them.
2011-11-02 18:55:32 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
e417e011d5 Code cleanup: file operations merged into single header, some function names
made less cryptic and changed to indicate if they work on files or directories.
2011-10-22 15:35:49 +00:00
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
Lukas Toenne
0d7bd0f9b6 Adds an update flag to the bNode struct (similar to bNodeTree->update).
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-19 17:08:35 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
dd7f52defa Fix #28365: some macro operators were missing descriptions. 2011-09-22 15:35:25 +00:00
3833cb2e76 Fix #28585: read full sample layers not working in compositor. 2011-09-22 12:45:25 +00:00
84d06f252e tag & comment unused vars with /* UNUSED */ 2011-09-20 08:48:48 +00:00
f157a543c6 /blender/editors: Removed final points in UI strings and messages.
Plus a few cuts in very long lines…
2011-09-19 12:26:20 +00:00
fa3082bace Minor: Other UI strings typos and tweaks. 2011-09-18 09:38:43 +00:00
Lukas Toenne
595ed90fe3 Minor fixes for some unfounded clang warnings. 2011-09-08 07:01:29 +00:00
Lukas Toenne
c00eba13e0 Node comparison function for sort order did not take parent selection into account. 2011-09-07 15:11:36 +00:00
Lukas Toenne
3f565fc212 Updating render layer and image output sockets was not working due to 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-07 13:30:16 +00:00
0991bed413 fix some complier warnings and add -Wundef to CMake's default GCC warnings. 2011-09-05 23:40:52 +00:00
Lukas Toenne
8e0fe8bff7 Merged the particles-2010 branch with node improvements into trunk.
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-09-05 21:01:50 +00:00
5f66f37e22 Patch for bug #28289
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-24 20:48:37 +00:00
4427c14683 Small fix, report in IRC by Olivier:
Click in Compositor on output node invoked a re-composite.
Only has to be done for inactive outputs.
2011-08-21 13:25:19 +00:00
b4df54151a 2.6 Node Muting:
* 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-16 08:40:25 +00:00
ae884d2e54 Code cleanup: add UNUSED_FUNCTION macro to avoid warning messages about unused
functions.
2011-08-15 16:18:04 +00:00
a7dd264940 Nodes: make node set active function usable outside of node editor, and in doing
so fix a missing updating when activating a node with multiple node editors open.
2011-08-12 18:27:48 +00:00
Lukas Toenne
fb738f4929 When relinking node group outputs from sockets of different type, automatically change the output to the source type. Feature request by Daniel Salazar. 2011-07-29 07:14:03 +00:00
7e466266d3 fix [#28098] Continuous Grab does not work for movement of the "Backdrop" in the Node Editor 2011-07-27 17:49:35 +00:00
ffc490cbf1 Two fixes in drop-node-on-noodle:
- Intersection code was using undefined vector
  caused wrong lines to be picked
- Code now also copes with hidden sockets. 
  If all fails, is just unhides a good socket.
2011-07-22 16:39:06 +00:00
eed7702c99 Small fix in drop-node-on-noodle: intersect code only did 3 edges of
node.
2011-07-22 16:02:56 +00:00
ea90544d65 Need some fun once a while:
On dragging a non-connected node on a noodle, it will insert it.
Functionality tweaks are possible, but it already feels non-intrusive.

Rules:
- Insertion only when a single noodle is intersecting with node.
- Default connects first matching socket type. 
- If no socket match, it connects the first.
2011-07-22 15:28:50 +00:00
Lukas Toenne
cf83cabb10 Modified behavior when replacing input links: The new target socket for the existing link is now chosen from available sockets that match the _target_ type, instead of the source type. This leads to more usable replacements, e.g. for toggling inputs on mix nodes. Still not a great solution to the mute/autoconnect problem, but a bit more intuitive for replacements. 2011-07-17 19:43:14 +00:00
Lukas Toenne
f62df587d9 Changed the default keys for duplicate-nodes-while-keeping-input-links to ctrl+shift+dkey, to avoid conflicts with alt+dkey for linked duplicates. 2011-07-17 18:17:35 +00:00
Lukas Toenne
756ef16e21 Little modification of the duplicate operator on artist request: The default behavior (shift+dkey) is now to copy nodes and internal links, but not the input links from unselected nodes. This feature is available with the alternate duplicate operator (alt+dkey). 2011-07-17 18:04:28 +00:00
b724c7f27e Add delete with reconnect feature.
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-07-12 18:59:54 +00:00
Lukas Toenne
f2c7cb0912 When duplicating nodes in a tree, also copy the links between selected nodes, as well as input links from non-selected to selected nodes. 2011-06-30 12:37:59 +00:00
f69d805338 Bugfix, irc report:
Adding new material in active node didn't update the material
properties buttons.
2011-06-17 13:57:41 +00:00
cc2c511207 Nodes display now follow 'DPI' user pref too 2011-06-14 15:55:46 +00:00
e0dee9b41d Bugfix #27105
Node editor: collapsed node didn't allow to size it using the
right hand side grab thingemabobs.
2011-06-11 13:12:57 +00:00
a43309e8d4 Added cancel callbacks to modal operators which allocates memory
in invoke callback. This prevents unfreed memory blocks when quiting
Bledner with modal operator running.
2011-06-06 11:04:54 +00:00
9f766c71b0 use event->mval rather then subtracting ar->winrct.x / y from event->x / y 2011-05-20 07:40:05 +00:00
5f5cdf9d00 for bug [#27358] Transform bug when transform > 500
mouse coords would with cont. grab would wrap at short.
use mouse coords as int rather then short.

this problem still happens on linux because of XTranslateCoordinates
2011-05-12 16:47:36 +00:00
a2941a464b Fix #27098: missing 3d view updates when editing GLSL material nodes. 2011-05-02 12:31:09 +00:00
Lukas Toenne
f69825e8e8 Color info in node editor backdrop now supports color management. 2011-04-23 08:30:28 +00:00
210ee1ade4 whitespace only, no functional change mixed tabs/spaces --> tabs. 2011-04-21 13:11:51 +00:00
Lukas Toenne
6cb761f10c Corrected updating inside edited groups, fix for #27018. This was caused by edit updates being restricted to the actual node. Edit functions now should use the generic snode_tag_changed, which also updates all instances of the currently edited group. 2011-04-19 15:15:50 +00:00
9b9c4184c8 misc nodes & editors: floats were being implicitly promoted to doubles, adjust to use floats.
+ minor update to demo_mode
2011-03-28 17:08:33 +00:00
Lukas Toenne
24f72abf67 Fix for crashes due to links without fromnode pointers. This can happen with "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-13 22:07:55 +00:00