Commit Graph

100 Commits

Author SHA1 Message Date
Joshua Leung
6f3a8519da Bugfix #17557: Segfault when no active node and trying to insert keyframe
When there is no active node in the Composite Nodes, Blender crashes when trying to insert a keyframe using IKEY.
2008-09-01 04:09:07 +00:00
Martin Poirier
bdcf3783d7 [#17433] Cannot break node links with LMB drag under linux.
Grease pencil commit added some panel draw code or whatnot which seems to change the matrix stack in unwanted (in this case) ways. Reset to identity fixes it.

* I don't think it was limited to Linux though
2008-08-24 15:22:44 +00:00
Joshua Leung
325b1666d4 Grease Pencil - Backend work:
Just preparation work for an eraser tool (as well as the code of a failed attempt at an implementation).
2008-07-25 07:11:08 +00:00
Joshua Leung
f9dc77c1c8 == Grease Pencil - More Tweaks (I) ==
New Stuff:
* Alt-XKEY / Alt-DelKey will now activate the Grease Pencil "Erase" menu. This will only show up when it's relevant (i.e. when there exists Grease Pencil data). It should make it faster to quickly delete the last stroke made. This hotkey has been added to the tooltips of the relevant buttons.
* Finished off colouring of 'active' layers panel so that they are now easily identify-able. This could also be done for Constraints, but the 'active' one isn't that important there.

Bugfixes:
* Fixed bug with drawing gp-data sources in the Action Editor, which resulted in missing icons.
* Fixed buttons in Grease Pencil panel. My hasty attempt last night at making the Action Editor to refresh was causing problems.
* Added a (hopefully temporary) button that will be used to prevent drawing from occurring with Shift-LMB. This is useful when trying to select stuff sometimes, with LMB as select-button, especially when selecting a bunch of closely spaced bones might be interpreted as a new stroke.
2008-07-24 09:23:13 +00:00
Joshua Leung
32d10bca2b == Grease Pencil ==
Grease Pencil is a tool which allows you to draw freehand in some views, allowing you to annotate/scribble over the contents of that view in either 2d or 3d. This facilitates many easier communication and planning abilities.

To use, simply enable it from the View menu (choose 'Grease Pencil...' and click 'Use Grease Pencil'). Then, click+drag using the left-mouse button and the shift-key held to draw a stroke.

For more information, check the following page on the wiki:
http://wiki.blender.org/index.php/User:Aligorith/247_Grease_Pencil
2008-07-22 09:53:25 +00:00
Ton Roosendaal
cdd461f488 March 22 commit from Campbell to allow Lasso select in Compositor
with CTRL+LMB disabled the recently before added option to make 
a Viewer connected to a node using same hotkey.

Now both work!
2008-06-07 15:06:00 +00:00
Brecht Van Lommel
eb26992c25 Fix for bug #12806: compositor nodes with use nodes disabled
didn't properly redraw the node window on changes.
2008-05-27 09:41:43 +00:00
Ton Roosendaal
aba4f31086 Bugfix 11736
CTRL+Click on "load" for image node crashed.
NULL pointer test missing...
2008-05-18 07:30:51 +00:00
Brecht Van Lommel
17cb235f91 Small last-minute peach feature: loading an image into the image node
now automatically detects if a sequence of images is selected, and sets
the frames and image type to sequence.
2008-04-02 12:03:31 +00:00
Brecht Van Lommel
53e91df196 Fix for bug #7875: node editor creates links to nowhere, fixes at
least one instance where it happens, when dragging a link onto an
already taken socket, and the existing link being moved to a hidden
socket. Couldn't find other cases in testing, so assuming it's
fixed unless another case pops up.
2008-04-01 22:28:00 +00:00
Campbell Barton
7e69e77609 lasso select for nodes 2008-03-22 20:54:09 +00:00
Brecht Van Lommel
c49316a9eb Bugfix: don't do full sample merging on re-rendered layers in
the compositor.
2008-03-21 17:37:24 +00:00
Brecht Van Lommel
fcdf2d694f Fix for bug #8555: geometry node front/bake was broken.
Fix for bug #7418: texture ipo's didn't show for textures in node materials.
Fix for part of bug #6758: node materials in other node materials could
miss texture coordinates.
2008-03-14 18:08:27 +00:00
Ton Roosendaal
d7ef04a519 Long on the wishlist, quite simple even, and there it finally is:
Compositor:
  Muting option to temporary disable/enable nodes.
  Hotkey: press M on selection. It toggles.

Note: no menu entry yet, and drawing style could be tweakered...
2008-03-08 19:02:08 +00:00
Campbell Barton
5665d9333e * Fix for own big, Adding group objects from the outliner didnt check they were externally linked.
* ping "~" in the fileselectors dir will take you to $HOME (non win32)
* Added a file selector for Node output image
2008-02-28 23:14:55 +00:00
Brecht Van Lommel
9620bccf5b Fix for part of bug #8376: shift+MMB dragging the view didn't work in
the node editor like other windows. Is already used for backdrop, but
if that isn't enabled it can still do it.
2008-02-27 14:26:47 +00:00
Ton Roosendaal
b69b5f274b Fix: compositor events caused far too many recomposite signals, this
because it was tagging all nodes with same ID *.
2008-02-22 11:25:08 +00:00
Ton Roosendaal
de707a32be Simple but useful compositor feature:
CTRL+click on node will not only select it, but also connect the active
viewer to the top output of the node.
To evaluate: make viewing option to have this as a default on select. 
Could work nice for collapsed nodes.
2008-02-15 15:20:50 +00:00
Brecht Van Lommel
b5437cc8a2 Bugfix: the re-render layer button in the render layer composite node
didn't change the current frame of the scene to the frame of the
compositing scene.
2008-02-15 14:56:56 +00:00
Nathan Letwory
16514e3ddb * Merge of PyNodes to trunk. Finally!
See http://wiki.blender.org/index.php/BlenderDev/PyNodes and
  http://wiki.blender.org/index.php/BlenderDev/PyNodes/API
  For current documentation.

  Very very big thanks go to William Germano for fixing the memory issues left
  and for improving on the code.

  In the coming time documentation will be finalised and further stabilising
  of PyNodes is to be expected.
2008-02-09 23:17:15 +00:00
Ton Roosendaal
90f8fb733b Fix: render could crash when you enable 'do composite' without having
nodes in scene.

Feature: SHIFT+R in compositor reloads all full sample buffers, composites
and merges with filter. (ALso in Node menu).
2008-01-31 15:35:24 +00:00
Ton Roosendaal
70c413d4ad Fixes in reading back rendered temp files ("Save buffers" and "FSA" options).
Press Rkey in compositor for reading back render results and invoke a compo.
This now correctly reads AO (skipped it sometimes) and it makes a correct
composite.

FSA todo:
- hotkey + button for reading all samples back + composite
- solve black border around image
2008-01-30 21:14:36 +00:00
Ton Roosendaal
8a00089ae3 Composite fix: the RenderLayer node option "rerender only this layer" did
not invoke a re-composite signal to the right window. Looked like as if the
re-render had no effect.
2008-01-24 13:43:12 +00:00
Juho Vepsalainen
2630c2c9f3 Minor changes to node rename tool
Rename was changed to work on the last selected node. Also size of a couple of
character arrays was changed to avoid buffer overflows.

Custom name shows up now just fine in group header in case it is being edited
as it did not before.
2008-01-08 19:06:46 +00:00
Juho Vepsalainen
aa1c0281c6 Custom Names for Nodes
This commit makes it possible to add a custom name to a node. The feature can be
accessed either by using a menu or shortcut ctrl-r. It currently works only when
a single node is selected. Invoking the feature gives a popup menu in which a new
name can be entered. If the given name is not empty, it will be shown like
"(myCustomName) NodeName" in the node header.

This feature is particularly useful when documenting complex node setups.

I also fixed the size of blur node. It was too short before due to my previous
commit.

Thanks to David Millan Escriva for contribution!
2008-01-07 19:38:01 +00:00
Juho Vepsalainen
e895b7a36a Conversion of "Toggle Link" tool to "Make Link"
This commit alters the behaviour of "Toggle Link" tool found in the node
editor so that it only makes link between selected sockets. Links cannot
be deleted by using the tool again as before. Instead deleting links can
be done by using the old method (drag with lmb).

The delete functionality may require further investigation to see if it
should be improved.
2008-01-07 12:55:37 +00:00
Juho Vepsalainen
d06dc00af9 Toggle links tool for Node Editor
This commit adds a new tool, Toggle Links, to the node editor. This tool
allows the user to toggle the status (linked/not linked) between desired
sockets. The tool can be used either by using the f key or the menus.

This functionality is analogue to one found in object editing modes except
for its additional toggle functionality.

To use this tool, the user has to first select an input and an output socket.
Selecting is done by clicking with right mouse button on a socket. After the 
tool has been invoked, the link between those two sockets is toggled. The 
result may vary based on existing linkage.

There can be only one input and one output selected at maximum in a node 
tree. This means that if the user selects a socket while one of the same 
type is already selected, the old one will be deselected.

The tool complements the current way of connecting nodes. One possible use
for it is to use it to review output of nodes by using a viewer node. Just
select wanted input socket of a viewer node, set it visible and use selection 
of an output socket in conjuction with f key to show the output in the viewer
node. Select another output and hit f to see its output and so on.
2007-12-27 10:17:33 +00:00
Hamed Zaghaghi
29054847a7 missing null check in node editor. 2007-12-12 14:07:24 +00:00
Campbell Barton
6dc52c893f for button popups, dont close unless you click or press escape, this would often close when dragging a button value (or when using a tablet I am told) 2007-12-11 23:05:10 +00:00
Andrea Weikert
427e063777 == imagebrowser ==
* activate imagebrowser for image node with CTRL+LMB on load button in image node.
2007-09-14 18:41:00 +00:00
Matt Ebb
5c1335a4a5 Fix for bug #7406 'Compositor Crash'
Previously when deleting a scene, no checks were made to see if 
any render layer nodes in other scenes were referencing them,
leaving them pointing to bad memory. Now, this checks all other
scenes' nodetrees and sets pointers to the to-be-deleted scene to
NULL, which gets taken care of elsewhere.
2007-08-14 04:38:31 +00:00
Matt Ebb
b21e895d03 * Added a bit more 'padding' around the node sockets, so there's a
larger area to drop the noodle connection on. This helps a lot when 
working with lots of nodes and the view zoomed out to maximum.
2007-07-03 07:39:17 +00:00
Campbell Barton
94ad8c810c Changed TESTBASE and TESTBASE_LIB to check the hidden flag
Checked every instance of testbase to see this dosnt break anything, also changed TESTBASE and TESTBASELIB, both were used incorrectly in places.

added error_libdata() for library error messages that are everywhere.
added object_data_is_libdata to test if the object and its data's are from a library.
fixed 2 crashs in adding Curve points to a library object (remember to check, verify_ipocurve returns NULL!)
made duplicating and making dupli's real for lib objects possible, disabled joining into lib armatures and meshes.
2007-04-22 22:08:19 +00:00
Ton Roosendaal
d2fd630e0a Bugfix #5748
Composite: when using multiple scene render-nodes, and one of these
scenes got re-rendered (by making scene active temporary), the composite
cache should free the used buffers.

Now, on each render, all scenes in a Blender project are being checked.
2007-01-19 12:43:02 +00:00
Ton Roosendaal
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
Ton Roosendaal
7f1e3874f9 Node editing usablity!
- Removed stupid idea to insert convertor nodes in Node Shaders, when a
  link is created by non-matching sockets. Now it works like Compositor,
  doing a default conversion. Works like this:

1 from 3 or 4 values: take average
3 from 1: copy to all
3 from 4: copy 3
4 from 1: copy to 3, set alpha to 1
4 from 3: copy 3, set alpha to 1

- Added select-linked in Nodes. Lkey or Shift+L. Also in pulldown menus
2006-12-08 21:20:36 +00:00
Ton Roosendaal
09d3d15f45 Node editor: when adding a new node, automatic links are created:
- from all selected nodes
- only connections between highest order socket types; so if there's RGBA
  and Value sockets, only RGBA sockets are connected. This because in
  these cases the Value sockets usually are for user input.
  Example: Mix node.

Thanks Trip for the hint!
2006-12-05 21:33:56 +00:00
Ton Roosendaal
869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +00:00
Ton Roosendaal
20ac94e8f0 Two hours of fixing details based on Klocwork source review. Useful report,
although it has a lot of noise. Not to mention our bad string code gives
a load of warnings.

I've reviewed specifically:
- file reading/write
- dna and library code
- node system
- entire render module

Done a couple of files in src/ too, seemed to be nice errors.
2006-12-01 19:52:04 +00:00
Ton Roosendaal
c3adb61dcc Composite Time node usablity improvement:
- now draws green 'current frame' line
- when Time Node is active, hotkey I will allow inserting a value on
  current frame.
2006-11-24 16:56:02 +00:00
Ton Roosendaal
a667b79b35 Small usability tweaks in Compositor:
- After making a Group, internal socket values are now copied to the
  group node, so an execute will give identical results
- After ungrouping, the cyclic dependency tagging didn't work well in
  all cases, showing a red noodle line and giving composite errors.
  For time being solved by calling the NodeSort twice.
- Viewer nodes now get previews updated always (used to be only the active)
  Note: this is not for previews inside of groups!
2006-11-20 09:37:01 +00:00
Ton Roosendaal
f89b052262 New Compo node: the Split-Viewer, showing two images halves to compare.
Works internally already with masks, so we can have several builtin
types.
2006-11-16 21:50:35 +00:00
Ton Roosendaal
b771cd9ca8 Two tiny compositor annoyances;
- Image Node: after loading new file it didn't update the header name
- File-out Node: header color suggested there was only 1 'active', which
  it isn't.
2006-11-13 16:43:45 +00:00
Ton Roosendaal
af4422bdb2 Patch #5184, Juho V (bebraw)
One liner basically; makes toolbox pop up like in 3d window, if you've
set it to reveil on holding RMB.
2006-11-12 13:28:39 +00:00
Ton Roosendaal
72c8d7c313 Bugfix #4806
Reports came in that Elephants Dream files crash on quit or loading other
files. Was caused by freeing Material Nodes, which was accessing memory
that potentially was just freed before (node->id). Apparently only Windows
really gives issues then, which is actually a good thing :)
2006-08-15 08:56:48 +00:00
Matt Ebb
28f23d9b81 * Added Shift MMB in the node editor to pan the backdrop image display 2006-08-13 12:01:07 +00:00
Ton Roosendaal
a6b0c136bb Bugfix #4770
When adding a new node in a group, the call to refresh input/output
sockets was called after a compositing update was executed.
Just moved this call 2 lines up.

This also uncommits the fix from Joilnen, the stack pointers in the node
system are *per definition* set. If NULL, it's an indication something
else is wrong.
2006-07-23 09:10:05 +00:00
Ton Roosendaal
e9c1e40681 Bugfix #4505
Node Editor.
Fix for a fix: cleanup of abuse of uiBlock accidentally disabled the
feature that only makes Node buttons accessible when visible. This to
allow Nodes to overlap and properly used.
2006-06-27 16:54:24 +00:00
Ton Roosendaal
3ffdc5a83b Bugfix #4480
Material Node trees needed support in IpoWindow still, it was only showing
the Ipo for the (defunct) base material. Now it follows the active Node.
2006-06-26 11:01:09 +00:00
Ton Roosendaal
7e081266a9 Bugfix #4460
Compositor:
The option to re-render a single node, didn't free memory if nodes were in
use showing exactly same RenderLayer.
2006-06-25 12:00:34 +00:00