Age | Commit message (Collapse) | Author |
|
- remove MEM_guardedalloc.h from header files (include directly)
|
|
|
|
copying a scene would still have nodes point back to the old scene which would crash (in some cases) or break rendering.
|
|
correct between localize/merge, bugfix for #21727 only did it one way.
|
|
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.
|
|
- write_crash_blend() was writing to the original path.
|
|
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
|
|
|
|
Hopefully this is correct - looks like the CompBuf->node pointer was getting left
out of the per-thread copying/localisation.
|
|
(commit 27690 by Campbell from render25 branch)
|
|
(commit 27684 by Campbell from render25 branch)
|
|
|
|
|
|
in compositor and outliner yet.
|
|
use sizeof() with other instances of BLI_uniquename too
|
|
memory frees or node trees sharing animdata when they shouldnt.
|
|
also some corrections to memory debug stuff.
|
|
|
|
changed some malloc to MEM_mallocN while trying to track down a memory leak.
|
|
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.
|
|
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 :)
|
|
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...
|
|
* 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.
|
|
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
|
|
Extend the 'only selected' property in the graph editor to only show curves
from selected sequence strips and nodes as well.
|
|
actually happened when clicking on any input
|
|
* 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
|
|
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.
|
|
* 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
|
|
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
|
|
|
|
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
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
|
|
|
|
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.
|
|
Sequencer changes from source/blender/src coming next
|
|
some users. I rather agree :)
|
|
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD
Notes:
* Game and sequencer RNA, and sequencer header are now out of date
a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
not needed anymore.
* Fix "duplicate strip" always increase the user count for ipo.
* IPO pinning on sequencer strips was lost during Undo.
|
|
* Fix crash adding rigid body constraint.
* Give new nodetrees NT in ID name to make them recognizned by RNA,
even if the nodetrees aren't actual ID datablock.
|
|
Ray-transparent didn't pass on thread number to shading code, giving
"blothes" in render, when using node materials.
This also rewinds Campbells commit of feb 21, which tackled the error,
but not the cause.
|
|
-r19323:HEAD
Notes:
* blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.
|
|
Texture nodes hang when nodes have a cyclic case.
Added a (temp?) provision to tag node->need_exec zero for cyclic
nodes, and added check for this in texture nodes.
There was also a bug in 'tag changed' for texture nodes, which not
only tagged, but also called the tree exec (should not happen!).
In general the texture exec needs recode; it doesn't use the stacks
as provided per node, but recurses itself to previous nodes, giving
problems like this. Node execs should only do their own bizz, the
node system handles dependency and eval order nicely already.
|
|
-r18677:19317
Notes:
* Sequence transform strip uses G.scene global, this is commented
out now, should be fixed.
* Etch-a-ton code was most difficult to merge. The files already in
2.5 got merged, but no new files were added. Calls to these files
are commented out with "XXX etch-a-ton". editarmature.c and
transform_snap.c were complex to merge. Martin, please check?
* Game engine compiles and links again here for scons/make/cmake
(player still fails to link).
|
|
Bugfix in compositor: code that duplicated the nodetree and merged
viewer images back lacked handling the case when a viewer was not
set active yet.
This fixes eternal loops in compositor after removing Viewers.
|
|
material nodes
Without thread locking the function that allocates new threads, black dots appear in renders.
This wont affect composite nodes,
Ton/Brecht - this is possibly too many lock/unlocks but I timed the render from the bug report and it didn't make a noticeable difference.
|
|
Smaller jobs, all in one commit!
- Moved object_do_update out of view3d drawing, into
the event system (currently after notifiers).
Depsgraph calls for setting update flags will have to
keep track of each Screen's needs, so a UI showing only
a Sequencer doesn't do objects.
- Added button in "Properties region" in 3D window to set
or disable 4-split, including the 3 options it has.
(lock, box, clip)
- Restored legacy code for UI, to make things work like
bone rename, autocomplete.
- Node editor now shows Curves widgets again
- Bugfix: composite job increased Viewer user id count
- Bugfix: Node editor, not "Enable nodes" still called
a Job, which didn't do anything
- Various code cleaning, unused vars and prototypes.
|
|
|