Commit Graph

1302 Commits

Author SHA1 Message Date
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
a62f7422ff move do_version code under latest subversion bump. 2011-03-11 09:35:16 +00:00
ffb4cf6b32 Bugfix [#26167] Animating inside group nodes behaves strangely
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-11 03:27:38 +00:00
c7fccc84bf use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf & editors. 2011-03-05 10:29:10 +00:00
Lukas Toenne
1c0b9dfdf1 Small fix for node drawing: nodes with no sockets now have a minimum height to avoid opengl drawing artifacts. 2011-03-01 10:08:09 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
4ed5cd6cef == UI icons ==
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
2011-02-27 18:03:19 +00:00
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
Lukas Toenne
2d7b4d1579 Empty groups are now displayed with some basic spacing in edit mode. Long 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-22 21:22:27 +00:00
Lukas Toenne
e7750aa6ed Convenience fix: Exposing internal sockets now copies the default input value to the group sockets. The "expose" function on group inputs/outputs has an optional parameter "add_link", which can be used to prevent the automatic linking. 2011-02-22 20:49:34 +00:00
Lukas Toenne
b3c60ef3ea Added RNA functions to group tree inputs/outputs for exposing internal sockets or adding custom sockets by name and type (fixes #26171). Changed a few function names for groups for consistency. 2011-02-22 20:24:06 +00:00
Lukas Toenne
1c7a422f78 Big node groups improvement patch. Node group trees now have their own lists 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-21 13:47:49 +00:00
Nathan Letwory
322ff7dfe4 I swear, it was just an innocence change in guardedalloc!
The butterfly wing flap, causing a nice storm in the rest of blender.

Now all dependencies should point ok again. CMakers, do double-test.
2011-02-21 12:35:04 +00:00
7a8a9b4875 Bugfix #26101
Node editor: icons in header sometimes were on wrong locations.
The click hotspots were also off...
2011-02-18 17:53:11 +00:00
1b25f48542 clear some unused warnings 2011-02-17 12:05:09 +00:00
86cf6b4016 moving dir strings into global namespace for doc access (coming up) 2011-02-15 14:38:43 +00:00
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
4124804b4e many functions in blender are not marked static but should be.
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-13 14:16:36 +00:00
Lukas Toenne
69e72ea427 Removed the internal_select parameter from ntreeCopyTree. This was used just in one place when duplicating nodes, which is not an actual copying of the tree. The node duplicate operator now copies selected nodes itself. 2011-02-11 09:37:58 +00:00
Lukas Toenne
46bb5643b7 Different method for blur node aspect correction. Now the user can still set different sizes for x/y blurring in relative mode, but choose to use aspect correction on either of the axes. 2011-02-10 20:54:02 +00:00
Lukas Toenne
cbe53cc48d More options for the blur node filter size. This can now be pixel based or relative to both axes or just either width or height. 2011-02-10 18:54:49 +00:00
763e8d0bec Bugfix [#26004] compositor: backdrop zoom factor too small
The backdrop zoom factor for new node-editor instances was not set
(i.e. was default initialised to 0). Now, this gets set to 1.0.

Also, set the property default in RNA to match this.
2011-02-10 10:24:05 +00:00
Lukas Toenne
24db3d17aa Per-type node labels and customizable names. The label displayed in the node 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-02-08 12:54:32 +00:00
c8be8a7c6d Bugfix 25965
New "auto render" now prevents calling anim-updates, that's
not needed (and popped back transformed keyed objects).
2011-02-07 18:09:27 +00:00
5c421c328e Todo/feature request
When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.

This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
  that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
  edit in 3D window

The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!

Demo file:
http://download.blender.org/demo/test/auto_composite.blend

Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.

Implementation notes

- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
  this is temporarily.
2011-02-07 16:41:57 +00:00
14ef1e2d96 Keymap conflict in node editor. Read Render Layers is now Ctrl R to
leave R for rotate
2011-02-02 10:26:14 +00:00
Lukas Toenne
31b78fd72e Removed OpenGL blending from node editor backdrop images in alpha channel mode. This is a pure b/w image that doesn't need blending. 2011-01-31 16:34:56 +00:00
05034fb91f Node UI:
* Added Backdrop Panel inside the "Properties" area.
* Hard limit for the "zoom" value. Negative values doesn't make sense. 
* Added a missing notifier for the Node backdrop move operator.
2011-01-31 16:16:15 +00:00
Lukas Toenne
fefe3daf24 Small fix for color info in node editor: ACTIONMOUSE click was already used for node moving. Now ALT+ACTIONMOUSE must be used to get color info from the backdrop image. 2011-01-31 15:18:30 +00:00
1393523d41 Scons blenfont include for recent Node Backdrop commit. 2011-01-31 14:48:17 +00:00
Lukas Toenne
56962346be Added backdrop image color information to the node editor. When clicking on empty space in the node editor, the pixel color values will be displayed on the bottom like in image editor. 2011-01-31 14:42:55 +00:00
Lukas Toenne
7215e5085e Changed alpha blending mode for image editor and node previews. This was 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-31 11:57:37 +00:00
Lukas Toenne
48fc6f5698 Added transparency feature to node editor backdrop, similar to image editor. Alpha blending can be enabled by a button when "Use Backdrop" is selected. 2011-01-31 11:17:50 +00:00
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
76940e6f5c - Bugfix: NLA "duplicate" operator now lets strips get moved between
tracks too, instead of only sliding around on the track they were
defined on.
- Adding description fields for many (older) operators that lacked
them
2011-01-20 22:22:16 +00:00
Lukas Toenne
121f428097 Added group verification after autoconnect to avoid linked+external group sockets. 2011-01-18 14:49:06 +00:00
d591ab5355 Bugfix 25683
Compositor operators now have better poll check, so they won't
show up in operator search or hotkeys for other node views.

- backimage move, size
- read renderlayers
2011-01-17 18:38:44 +00:00
84a464ab62 several cosmetic changes to the node-editor
+ 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-09 18:59:35 +00:00
17e733a4fc Bugfix #25525
Duplicating viewer node crashed in cases; bad ID was given to a function.
Fix provided by Alexander Kuznetsov. Thanks!
2011-01-08 19:12:42 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
90a4e6a93d Don't commit with compiling first ;) 2011-01-04 16:39:05 +00:00
51a3d123e1 Todo item: notifiers sent from Material changes invoked Compositor
jobs. Now proper checks have been added, also for texture nodes.
2011-01-04 16:31:36 +00:00
9676902006 Todo items:
- New Node editor now opens with larger view, the default
  was like zoomed in factor 2.
- Add node via menu now shows new node more visible
- Click on (material) node now doesn't re-render the entire
  tree anymore, much nicer.
- Duplicate node creates preview image immediate
2011-01-03 14:36:44 +00:00
3c96b00500 Bugreport, IRC
Compositor: "Read & Compo Full Sample Buffers" option stopped after
1 pass; the break callback was returning '1' falsely.

Also made it show "wait cursor" again, since it doesn't run in 
thread nor updates UI while compositing buffers. Check console for
progress for now.
2010-12-28 10:39:27 +00:00
b72bffd70c Bug report #25384
Node editor
Some nodes - when muted - didn't draw a red line to indicate
a pass-on action. Stil, the node then is muted and either passes
on a buffer of same type, or just black.

To more clearly indicate muting, it now draws the header in a 
reddish blended color too.
2010-12-27 09:43:22 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
fae8dc5a73 Error/Warning report flipping.
An operator Error throws up a menu, a Warning only a flashy header print.
In mesh editmode the menus for simple failures got very annoying, like
"Already a face" for Fkey on a face.

Proposal is to use warning for contextual failures, like:
- wrong selection
- unsupported combination
- wrong modes

And use errors for cases you really need user attention, for example when
issues are invisble or potentially damaging work.
- Memory failures
- Files not found

List can grow in future :) let's test this for mesh now.
I'll tackle this for other ops later after review.

(Also changed: loopcut disabled when editmode shows deformed result)
2010-12-21 15:10:09 +00:00
97197b54cf Bugfix #25309
Code cleanup to allow switching active output nodes in Compositor
made shader nodes output not set correctly.

Now you can have multiple output nodes in shaders too, and switch
on click-activate.
2010-12-20 11:08:29 +00:00