Commit Graph

696 Commits

Author SHA1 Message Date
fa4bbbb249 Maintenance,
- remove some redundant declarations
- changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-12-04 13:00:28 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
cfc1b133f6 updates to patch from Dan Eicher, allow adding a NodeGroup through bpy.data.node_groups.new(name, type)
made some minor changes.
2010-12-03 03:44:39 +00:00
b7d0715284 Bugfix #24953
Compositor: If scene render size changed, a Texture node didn't get tagged
to re-render, using previous size instead.
2010-11-28 16:36:36 +00:00
7a62c05204 bugfix [#24403] Object.copy() duplicates armature action
now duplicating ID data wont duplicate actions by default and the user preference is used with duplicate operators.
2010-11-09 09:53:17 +00:00
5d7ed88f17 Fix #24436: GLSL + Node material gives wrong color. 2010-11-02 12:18:49 +00:00
0876fce009 rename and negate DISABLE_PYTHON --> WITH_PYTHON 2010-10-31 04:11:39 +00:00
9862157087 fix for fix [#24344] crash on adding new image when composite is open and there is no Nodetree
also use const prefix in solidify modifier where possible.
2010-10-21 04:21:09 +00:00
9aa2bde26b Most likely fix for #23420: viewer node: loses viewer nodes forever.
Related to another bug fixed recently, both viewer + split viewer
could be set to output to the same image. That also could make node
tree localization/sync go wrong.
2010-10-02 14:32:03 +00:00
734b7b969d Fix #23932: compositing nodes with viewer and split viewer node could
crash, with two threads writing to the same image.
2010-10-01 21:56:36 +00:00
bd5a62cfcb bugfix [#23068] Image editor: Update Automatically not updating the compositor.
[#23637] Replacing an image used in the compositor crashes
       [#23343] changes in images doesn't update compositor image nodes
2010-09-13 06:08:26 +00:00
0bab23633a remove inline loops in a few places
replace with defgroup_find_name() and BLI_findstring()
2010-08-22 14:15:28 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
9ce2086506 Fix #23111: file Output node not working when inside a group. 2010-08-13 10:20:40 +00:00
8c75853bb6 bugfix [#23164] Copied Scene Nodes!
copying a scene would still have nodes point back to the old scene which would crash (in some cases) or break rendering.
2010-08-05 10:50:38 +00:00
3840b0c206 Fix #22869: procedural compositing buffers from texture nodes were not restored
correct between localize/merge, bugfix for #21727 only did it one way.
2010-08-04 15:51:52 +00:00
449f8ce4fe bugfix [#22859] Multi-user images cant be made into single user in texure panel.
turns out this isnt exactly a bug since support was never written for this but may as well support it.
now rna/py can do image.copy() too.
2010-07-30 06:09:23 +00:00
4596588fe8 - avoid divide by zero with node progress
- write_crash_blend() was writing to the original path.
2010-06-23 15:07:20 +00:00
6e92ddf8b3 Progress indicators for threaded jobs
Now, rather than the bit-too-alarming stop sign, threaded wmJobs 
display a progress indicator in the header. This is an optional feature
for each job type and still uses the same hardcoded ui template
(could use further work here...).

Currently implemented for:
Render - parts completed, then nodes comped
Compositor - nodes comped
Fluid Sim - frames simulated
Texture Bake - faces baked

Example: http://mke3.net/blender/devel/2.5/progress.mov
2010-05-27 08:22:16 +00:00
9db7f4122d fix for crash on loading some nodes. 2010-04-28 18:13:03 +00:00
8616d22dc3 Fix [#21727] texture in compositor quickly results in crash
Hopefully this is correct - looks like the CompBuf->node pointer was getting left
out of the per-thread copying/localisation.
2010-03-31 05:44:21 +00:00
083b11f3c3 fix for mistake in own recent commit.
(commit 27690 by Campbell from render25 branch)
2010-03-23 16:17:27 +00:00
9ca5243df8 workaround for compositor threading copying actions every time.
(commit 27684 by Campbell from render25 branch)
2010-03-23 15:34:07 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
353a078d4c Fix #21211: new indirect/environment/emit passes weren't showing up
in compositor and outliner yet.
2010-03-12 12:29:12 +00:00
42fd22531f constraints unique name length was set too long (could overrun the buffer), use sizeof() with other instances of BLI_uniquename too 2010-02-18 10:14:49 +00:00
83fd3fbb43 copy animdata and id-props when copying material node tree's to avoid double memory frees or node trees sharing animdata when they shouldnt. 2010-02-15 08:50:04 +00:00
39c3ebdc91 fix for memory leak: node animation data wasnt being free'd
also some corrections to memory debug stuff.
2010-02-13 13:38:10 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
ec7df03c86 Warning fixes, one actual bug found in sequencer sound wave drawing. Also
changed some malloc to MEM_mallocN while trying to track down a memory leak.
2010-02-08 13:55:31 +00:00
de56a63849 Fix [#20773] NODE ANIMATION: Animating node values broken
Now the compositing node tree will update on frame change if any of the 
nodes are animated.

This doesn't work for playback (i.e. alt a), that's better off waiting until we 
have some kind of frame caching system.
2010-01-27 05:42:17 +00:00
3e1783c715 New Compositor node: Hue Control
Was very quick to do, now re-aquainted with node editor.

http://mke3.net/blender/devel/2.5/hue_correct_node.jpg

Todo: modes for affecting hue and value on the vertical axis as well as just saturation - or if an enterprising coder wants to give it a go, let me know and 
I can help :)
2010-01-21 00:00:45 +00:00
1d3186cbcf Durian request: Added 'Color Balance' node to compositor. uses Lift/Gamma/Gain
similar to sequence editor.

--> http://mke3.net/blender/devel/2.5/color_balance_node.jpg

Also added 0 key (zero key) shortcut when mouse is over a button, to reset it to its default value.
Same as the RMB menu ->Reset to Default, except for color wheels, it only resets the hue/sat/value
components that that widget affects.

Peter/Xavier: The existing color balance code can generate NaNs (fractional power of a negative),
which causes havoc along the image pipeline. I added a check in the node code to prevent this.

Still plenty of potential for lots of better colour correction tools in the compositor, just needs time...
2010-01-20 04:19:55 +00:00
4ba5b70d2f Node editor tweaks
* Cleaned up dead code, removed all traces of socket selection

* Modified border select so it's possible to have border select on mouse tweak.
With this change, by default, click+dragging on a node will select and move it, 
but click+dragging on empty space will border select.
2010-01-06 03:00:19 +00:00
7a67b662bd * Tweaks for node editor Make Links (F key)
Testing a new method that hopefully will be faster to use than finicky socket 
selection - now just select multiple nodes and press F - available output sockets 
on the selected nodes will get automatically connected to the active node.

It works for one socket type each time, to avoid getting lots of extra connections 
when you join up, but as a shortcut you can easily press F again to connect up 
other socket types. For example, to connect a render layer node (with vector pass) 
to a vector blur node, select the render layer then the vector blur, and press F 
three times to connect up the Image, Z and Vector sockets. It now also 
preferences sockets with the same name to connect up first.

There's also another option (ctrl F) which will replace existing input links, rather 
than only connecting up links to available input sockets.


* Also changed socket link knife cut to a more convenient shortcut - Ctrl LMB tweak
2010-01-04 04:26:28 +00:00
fac65a3f4d Durian request:
Extend the 'only selected' property in the graph editor to only show curves
from selected sequence strips and nodes as well.
2009-12-17 04:55:15 +00:00
89f9d3873d bugfix [#19983] clicking onto normal input of a material node crash
actually happened when clicking on any input
2009-11-24 14:03:29 +00:00
e6d382bd53 Node Editor: Various usability and code tidyups
* Fixed a nasty bug which meant that it was impossible to set an active node. Was caused by ntreeCopyTree() getting called when compo updates were done and clearing the active flags. The active flag clearing is only really needed for the "internal_select" case which is only used for duplicating selected nodes (from Shift-D duplicate).

* Recoded click-selection code. Was a mess of old code, bad exceptions from the old code half ported, duplicate operators, unnecessary flags/modes.

* Fixed bug #19927: compositing node groups can't be access via "tab" or ungrouped via "alt+g". Was probably related to the active group not being able to be set.

* Made resizing nodes work again. Again, this was due to the active node bug.

* Made adding a new group with Ctrl-G correctly update the views
2009-11-20 04:19:57 +00:00
c0fae59c99 * Fixed nodetree animation by giving nodes unique names
Now the rna path to nodes happens via the node name, which is ensured to be unique via RNA.
As part of this, the node->username string has been removed, upon renaming the node itself it takes care of making sure it's unique (like bones, constraints, etc). There's currently no interactive rename tool, but you can do it via the datablocks editor.

- plus a few notifier tweaks, using the newer NC_NODE notifier to refresh graph editor etc.
2009-11-11 09:11:21 +00:00
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
bc006655ba * Finished (well, almost ;) RNA wrapping and layout-engine-ing all the nodes.
Still a few quirks, including redraw issues on multilayer image input nodes, but it's pretty much there.
Would also be good to wrap the input/output sockets, too, will check on it.

This fixes bug [#19740] INPUT NODE: Cannot load images / motion pictures
2009-11-10 04:01:44 +00:00
0bb70e4fae workaround for crash when dragging nodes 2009-11-09 11:15:49 +00:00
652ea9ee30 Fix #19627: previews in materials nodes were not cleared before re-render. 2009-10-19 14:10:37 +00:00
fd511eb984 Node Bugfixes:
* Compo node backdrop works again.
* Compo node previews and backdrop now get correct color management
  float to byte conversion.
* Compo nodes got unecessarily recalculated while moving nodes.
* Fix compo node viewer nodes not getting activated correctly.
* Main compo node preview render computations are now outside of
  mutex lock, so better for multithreading.
* Tex node outputs did not work in some files loaded from 2.4.
* Change RNA updates to take into account groups that may be shared
  between multiple node trees.
2009-10-07 22:05:30 +00:00
8d54982f37 Material buttons now view the active node material shading settings.
Selecting a material in the node tree sets this as the active material and the buttons view redraws.

Added rna prop material.active_node_material

Currently its not clear what settings are used by the node material and the base material (needs some tedious research) so I made most panels use the node material with the exceptions of volumetrics, physics and halo settings.

We'll probably need to split the panels up to do this properly.
2009-10-06 15:31:25 +00:00
b466286c3e Render & Compositing Thread Fixes
* Rendering twice or more could crash layer/pass buttons.
* Compositing would crash while drawing the image.
* Rendering animations could also crash drawing the image.
* Compositing could crash 
* Starting to rendering while preview render / compo was
  still running could crash.
* Exiting while rendering an animation would not abort the
  renderer properly, making Blender seemingly freeze.
* Fixes theoretically possible issue with setting malloc
  lock with nested threads.
* Drawing previews inside nodes could crash when those nodes
  were being rendered at the same time.

There's more crashes, manipulating the scene data or undo can
still crash, this commit only focuses on making sure the image
buffer and render result access is thread safe.


Implementation:
* Rather than assuming the render result does not get freed
  during render, which seems to be quite difficult to do given
  that e.g. the compositor is allowed to change the size of
  the buffer or output different passes, the render result is
  now protected with a read/write mutex.
* The read/write mutex allows multiple readers (and pixel
  writers) at the same time, but only allows one writer to
  manipulate the data structure.
* Added BKE_image_acquire_ibuf/BKE_image_release_ibuf to access
  images being rendered, cases where this is not needed (most
  code) can still use BKE_image_get_ibuf.
* The job manager now allows only one rendering job at the same
  time, rather than the G.rendering check which was not reliable.
2009-09-30 18:18:32 +00:00
fa4ee2be84 Added Levels Node (histogram, with mean/std deviation outputs)
Added RGB space distance matte Node
Added HSV color matte Node

Fixed Image difference matte Node to use image differences instead of RGB space distance
Fixed luminance node for low end values being read wrong
Fixed CMP_util copy/swap functions not accounting for all channels
Fixed UI for difference matte Node 

Added RNA for new nodes
2009-09-10 04:12:22 +00:00
3803a3c5a7 Fixed some redraw problems with texture nodes. 2009-08-18 14:31:13 +00:00
9059639df4 2.5: Screen/Scene New/Delete operators.
Implementation Note:
* Moved the scene copy/unlink code back into blenkernel, with
  the exception of the copy single user stuff which is still in
  object_edit.c.
* Uses SCREENDELETE notifier like SCREENBROWSE, seems only clean
  way to do this now.
2009-08-15 16:43:03 +00:00