Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-12Freestyle: Fix for git merge glitches.Tamito Kajiyama
Also made minor code cleanup.
2014-08-12Freestyle: Add BKE_linestyle_default_shader() for creating the default line ↵Tamito Kajiyama
style shader node tree. Changes to ED_node_shader_default() were reverted since the code there was actually not suitable for setting up the default line style node tree properly.
2014-08-12Added new Output Line Style shader node for defining a node-based line material.Tamito Kajiyama
2014-08-12Implemented a basic framework for node-based shaders.Tamito Kajiyama
Shader nodes will be used to define materials for stroke rendering, so as to allow users to interactively configure textures.
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-06-30Experiment with the compositor border in editorSergey Sharybin
Preserve buffer form previous runs so it's possible to make a compo of full frame, then draw a border and start tweaking nodes and see updates in that border. Main idea is to make it able to visually compare difference between what was changed inside the border and how frame looked before the tweaks outside of the border. Also implemented Clear Viewer Border in compositor, shortcut it Ctrl-Alt-B. Reviewers: lukastoenne, jbakker CC: venomgfx, sebastian_k Differential Revision: https://developer.blender.org/D582
2014-05-23Some operation allowed to set invalid active scene render layerSergey Sharybin
Forbid this now and do tricks in the versioning code to repair corrupted files. Thanks to Pablo, Caminandes and Koro for discovering this bug!
2014-05-09Fix T40094 Faulty resizing behavior of frame node.Lukas Tönne
Frame nodes still have the "hidden" flag like all other nodes, but this has to be ignored during resizing. width/height range for the frame nodes must be unlimited for this to work correctly.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-30Fix T38245: Render slot buffer gets deleted in compositor when input is an imageSergey Sharybin
This was more like a TODO than a bug, but wasn't difficult to support. Need to backup image slots before doing re-compo in nodes editor. If something breaks, lease poke me!
2014-04-26Code cleanup: use 'const' for arrays (editors)Campbell Barton
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-02Fix T39547: Toggling render passes on active scene does not updateLukas Tönne
render layer nodes in a pinned tree from different scene. The way these updates work is a nasty legacy hack: https://developer.blender.org/diffusion/B/browse/master/source/blender/nodes/composite/node_composite_tree.c$277 This function is called //very frequently// by the get_from_context method. However, this does not get called for pinned node trees, so when showing a different scene's compositing nodes in the editor they may not get updated correctly. Now moved this update call out of get_from_context so it happens in any case. Will be called no more frequently than before (on every redraw). Eventually the depsgraph should handle this more precisely, it's just a simple ID dependency anyway ...
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-22Code cleanup: styleCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-05Fix T38340 and T38473: fixed Scene pointers in Composite and Defocus nodes ↵Lukas Tönne
don't get updated based on context. As discussed in T38340 the solution is to use the current scene from context whenever feasible. Composite does not use node->id at all now, the scene which owns the compositing node tree is retrieved from context instead. Defocus node->id is made editable by the user. By default it is not set, which also will make it use the contextual scene and camera info. The node->id pointer in Defocus is **not** cleared in older blend files. This is done for backward compatibility: the node will then behave as before in untouched scenes. File Output nodes also don't store scene in node->id. This is only needed when creating a new node for initializing the file format. Reviewers: brecht, jbakker, mdewanchand Reviewed By: brecht Differential Revision: https://developer.blender.org/D290
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-27Code cleanup: use booleans where appropriateCampbell Barton
2014-01-27Code Cleanup: de-duplicate nested node tree checkingCampbell Barton
2014-01-21Code Cleanup: use bool for return values and correct commentsCampbell Barton
also remove CDDM_Check, theres no need for it.
2014-01-21Code Cleanup: styleCampbell Barton
2014-01-20Fix T37978: cycles nodes with multiple Material Output nodes not predictable.Brecht Van Lommel
Now it uses the last activated node like compositing does. This should have no effect on existing files until you activate another output node there.
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2013-10-31remove return argument from wmOperatorType->cancel, was only ever returning ↵Campbell Barton
OPERATOR_CANCELLED.
2013-10-10Cleanup: Consistent names for draw callbacks in bNodeType.Lukas Toenne
This aims to establish a common pattern for the various confusing draw callback function pointers in bNodeType: draw_<purpose>_<nodetype>[_ex] Currently there are 4 different types of draw callbacks: * draw_nodetype, draw_nodetype_prepare: Main draw functions, allows specialized node drawing for things like frames and reroute nodes. Not exposed in the API. * draw_buttons, draw_buttons_ex: Optional non-socket buttons, most commonly used callback. Extended version used in sidebar for verbose buttons that don't fit into a node. * draw_backdrop: Draw elements in the backdrop (compositor only). Not exposed in the API. * draw_input, draw_output: Specialized socket drawing for some nodes, only for OutputFile node. Should not be used any further and be removed at some point. Not exposed in the API.
2013-10-06Fix for Output File node operators: added a sanity type check to avoid using ↵Lukas Toenne
invalid node data. Reported by Sebastian Koenig in unrelated bug report #36968.
2013-09-07rename cursor setting functions to make modal set/restore more clearly ↵Campbell Barton
related functions.
2013-09-05Bugfix #35920Ton Roosendaal
Adding a new node in Node Editor failed for "High DPI" (Only Mac retina now). - Py script for adding nodes was doing dpi magic, which it shouldn't. It has been replaced with a (temporary) API call to set the correct cursor location. (Thanks to Lukas T for helping here) - The SpaceNode->cursor[2] property now is *only* storing the coordinate in "adding new node space". Use of this has been removed from the code where possible, with as only exception the code to draw noodles while adding them. Special coder note: Nodes should respect the DPI value, and draw larger with larger buttons if you increase this size. The hack here is that this can only work nice if also the node positions are scaled accordingly. A better fix could be to check on scaling the node view itself for it. That then would also remove this Python API call that was added in this commit. However, that again might fight with how buttons layout code works now... needs some careful checking.
2013-08-07Fix #36266, First undo in compositor decrements usercounter without a ↵Lukas Toenne
reason. The handling of scene backpointers in render layer/composite nodes changed slightly recently, which caused a double increment of the scene user count. The node->id pointer for these nodes is now initialized in the respective init callbacks already. The explicit assignment and increment in the ED_node_composit_default is not necessary and just adds an increment without checking previous values and decrementing them properly. Note that the current system still leaves the scene with "fake" users (rlayer + composite nodes) which are actually part of the scene data itself. But that's design issue with the "local" node tree data and doesn't do any real harm.
2013-07-19code cleanup: case & brace placementCampbell Barton
2013-07-08Partial fix for #36024, don't always reset the node editor tree pointer if ↵Lukas Toenne
the type is undefined. This can happen if the tree type is defined by addon or script, in which case the tree type would be unknown the first time the context is checked, but registered right afterward. Also unknown tree types are handled fine, they just display dummy nodes in red warning color.
2013-06-25Fix unnecessary redraw of 3D views when making changes in compositing nodes.Brecht Van Lommel
2013-06-11Fix cycles backwards compatibility for specular_toon shader this actually needsBrecht Van Lommel
to be done in cycles itself to keep compatibility for bytecode too. Also fix broken button to compile OSL from the text editors, this got broken after recent change to disable editing of library linked nodes.
2013-06-05Fix #35640, part 2. Check id.lib in poll functions for operators which do ↵Lukas Toenne
critical modification of node trees (create nodes, link, etc.). Transform operators and hide/show type operators are still allowed, this does not modify actual behavior of the nodes and can be useful for inspecting linked nodes.
2013-05-29Remove the NODE_OPTIONS flag usage from node->typeinfo. This is a redundant ↵Lukas Toenne
flag which can be replaced by simply checking for nodetype->uifunc/uifuncbut callbacks (if these callbacks are defined the node type generally supports options). Note that the node->flag still uses NODE_OPTIONS as a switch to toggle the display of such options!
2013-05-07Fix #35122: Blenderplayer crashes when loading levelSergey Sharybin
Issue was caused by ntreeUpdateTree calling for a ntree which is not in G.main. This lead to issues in ntreeVerifyNodes (which is called from ntreeUpdateTree). Made is so ntreeUpdateTree now accepts main as an argument. Will work for the release, later we could either solve the TODO mentioned in ntreeUpdateTree which will eliminate need in main there or make it so context's main is used from all over where ntreeUpdateTree is called (currently there're still some usages of G.main).
2013-04-30Fix #35144: Image editor is not updateing if in new windowSergey Sharybin
Was a regression in own optimization on which viewer node to update -- need to check all the windows' screens, not just active one.
2013-04-24Fix #35068: bpy.ops.node.output_file_add_socket() now works on the active nodeBrecht Van Lommel
if there is no "node" in the context, for scripting convenience.
2013-04-24Fix for #34739 and #35060, avoid ambiguity in compositor viewer nodes.Lukas Toenne
The design changes coming with pynodes for the node editor allow editing multiple node groups or pinning. This is great for working on different node groups without switching between them all the time, but it causes a problem for viewer nodes: these nodes all write to the same Image data by design, causing access conflicts and in some cases memory corruption. This was not a problem before pynodes because the editor would only allow 1 edited node group at any time. With the new flexibility of node editors this restriction is gone. In order to avoid concurrent write access to the viewer image buffer and resolve the ambiguity this patch adds an "active viewer key" to the scene->nodetree (added in bNodeTree instead of Scene due to otherwise circular DNA includes). This key identifies a specific node tree/group instance, which enables the compositor to selectively enable only 1 viewer node. The active viewer key is switched when opening/closing node groups (push/pop on the snode->treepath stack) or when selecting a viewer node. This way only the "last edited" viewer will be active. Eventually it would be nicer if each viewer had its own buffer per node space so one could actually compare viewers without switching. But that is a major redesign of viewer nodes and images, not a quick fix for bcon4 ...
2013-04-24Fix #35008: compositing nodes viewer border (ctrl + B) not working correct ↵Brecht Van Lommel
inside node groups.
2013-04-04code cleanup: use bools in UI and WM code, quiet some shadow warnings, ↵Campbell Barton
remove unused function uiEmboss()
2013-04-03Fix #33628, Segmentation fault after pasting a closed group of nodes into an ↵Lukas Toenne
open group. Finally now there is a proper check for pasting nodes into groups. It uses the poll_instance callback of node types to determine if a node can be added into a specific node tree. Currently this is only implemented for group nodes and does a recursive check to avoid pasting a node group into itself (on any level, also nested groups).
2013-03-31Fix for [#34821] Split Viewer node won't show the backdropThomas Dinges
* Regression introduced in r55451
2013-03-31style cleanupCampbell Barton
2013-03-20Changes to compositor output nodeSergey Sharybin
Make it so compositor output node wouldn't be calculated when Render Result image is not visible on the screen. This makes compositor tree editing more friendly and faster. Also, if there's no viewer image visible on the screen viewer nodes wouldn't be handled. Final rendering keeps unchanged for now. This solves issues when for performance artists are disconnecting compo output node before tweaking values in compositor and forgets to attach compo output node before sending file to the farm.
2013-03-19Removed the is_local_tree property from compo/shader/texture node trees. ↵Lukas Toenne
This was using an ID property, which causes trouble with 2.62 builds (possibly later) due to an old bug that causes ID properties in local node trees not loaded correctly. The bug has been fixed since then, but creating id properties will break with these builds. The property was not really necessary, so removing it will make it work as long as users don't add id properties themselves.
2013-03-19Fixes for context updates of the node editor:Lukas Toenne
* If the node tree can be updated from context (tree has get_from_context callback defined), reset the pointers first to clear the editor path if no tree can be found. * Stupid mistake: snode->from != snode->from is always false. * Shader nodes context update: set the 'from' pointer to the active object, even if it doesn't have a material or node tree.
2013-03-18Usual minor UI messages fixes.Bastien Montagne
2013-03-18Node Editor / Group UI:Thomas Dinges
* Add, Move and Remove Socket operators missed a notifier for UI redraw. Note: ND_DISPLAY seems to be for the Text editor only, according to WM_types.h, but seems to be used in quite a few places. Time to cleanup notifiers again.