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-06-12Fix T40596: Node link menus flipped & events invertedCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-11Own recent removal of string encoded menus missed render layers/passesCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-01-07Fix T38075, crash from shader node add/replace tree view template.Lukas Tönne
The sanity check for copying socket default value was using the socket idname for type compatibility checks, which is too strict. Subtypes would not be recognized as copyable, but since only the plain data type is needed below this is all that needs to be checked. That alone would not cause crash (just missing default value copy), but the tree view template was messing with the default_value DNA directly by freeing it in advance, which is not necessary and should be left to blenkernel when freeing the node. Otherwise this would leave the node invalid without a default_value if the copy function bails out.
2013-12-04Fix UI bug with 'socket menus' (used e.g. by cycles' Material panels).Bastien Montagne
Also tweaked a bit how nodes with more than one socket available are drawn: * The node entry itself (a label) has no more any icon, so that it is aligned with the other single-socket nodes. * The sub-entries (i.e. node's sockets) are more clearly indented (using a blank icon). Details: Another case of bad internal UI_HAS_ICON flag erasing by brutally assigning an uneeded value to but->flag. Revealed by recent split of some button flags into but->drawflag. Thanks to Thomas Dinge for noting the issue.
2013-11-21Squashed commit of the following:Bastien Montagne
commit 6f97e194e58aab38d351c796bf7bb6abca33f5f9 Author: Bastien Montagne <montagne29@wanadoo.fr> Date: Wed Nov 20 21:18:20 2013 +0100 Code cleanup: Move some uiBut->flag to uiBut->drawflag, make those flags anonymous enums. Summary: Make some room in but->flag (I did not add another flag, we already have drawflag, which was nearly not used up till now). Note: I’m not sure whether REDALERT (and perhaps even DISABLED?) should not go to but->drawflag as well... Related to D8 Reviewers: brecht Differential Revision: http://developer.blender.org/D22
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-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
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-23Another little fix for #35010. Added better labeling for node groups, so ↵Lukas Toenne
it's possible to see which node group type the sockets in the node tree view belong to. Otherwise would be virtually impossible to use it.
2013-04-18code cleanup: removed unneeded null check in object drawing, some warnings, ↵Campbell Barton
style.
2013-04-18A few fixes for recent own commit r56133.Lukas Toenne
* Index was assigned after increment, leading to NULL pointer access later on when looking up socket from list * Copying default_value requires a valid NULL pointer for clean check * Was using default_values as parameters instead of sockets, void pointers just passed through without warning ...
2013-04-18Fix for #35010, Node Groups don't show up anymore in Material Surface. ↵Lukas Toenne
Fixing the node tree view was a bit of a todo item after pynodes. To make the type-dependent socket linking in this template a bit more manageable, there are now separate functions that generate "items" for a particular node type consisting of the socket index, name and possibly additional properties required (currently only node groups vs. all other types). This is still nowhere near flexible enough to be used as a generic template all node systems, but works for now. In order to make this usable as a generic tool we will have to devise a way of storing, comparing, applying node settings *outside of actual node instances*. Then each node needs to tell how sockets are generated based on these properties. For the current nodes this would be far too complicated ...
2013-03-19Nicer handling of undefined node, tree and socket types.Lukas Toenne
When nodes are loaded from a .blend file they can potentially have undefined types. This can happen if a type has been deprecated and removed, or if node types were defined in a python script that has not been loaded correctly. Previously all such nodes would automatically be removed from a node tree, assuming that their types were deprecated and no longer in use (more commonly caused by loading new nodes in an older Blender version). Due to the possibility of dynamic registration it is no longer feasible to simply delete such nodes. Display and handling of node trees was simply disabled before this patch, so that a node tree where any node or socket type was undefined would not be displayed at all. To give more information and avoid problems caused by necessary checks for the typeinfo pointer, there is now a 'Undefined' fallback type for trees, nodes and sockets. These types are used as placeholders in case the real type is not registered and can provide useful visual feedback on undefined nodes.
2013-03-18code cleanupCampbell Barton
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2012-12-12Holiday coding log :)Ton Roosendaal
Nice formatted version (pictures soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability Short list of main changes: - Transparent region option (over main region), added code to blend in/out such panels. - Min size window now 640 x 480 - Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake. - Macbook retina support, use command line --no-native-pixels to disable it - Timeline Marker label was drawing wrong - Trackpad and magic mouse: supports zoom (hold ctrl) - Fix for splash position: removed ghost function and made window size update after creation immediate - Fast undo buffer save now adds UI as well. Could be checked for regular file save even... Quit.blend and temp file saving use this now. - Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)" - New Userpref option "Keep Session" - this always saves quit.blend, and loads on start. This allows keeping UI and data without actual saves, until you actually save. When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header) - Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v). Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards. - User preferences (themes, keymaps, user settings) now can be saved as a separate file. Old option is called "Save Startup File" the new one "Save User Settings". To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still. - OSX: fixed bug that stopped giving mouse events outside window. This also fixes "Continuous Grab" for OSX. (error since 2009)
2012-11-03Render API: shader script node for custom shaders.Brecht Van Lommel
* Shader script node added, which stores either a link to a text datablock or file on disk, and has functions to add and remove sockets. * Callback RenderEngine.update_script_node(self, node) added for render engines to compile the shader and update the node with new sockets. Thanks to Thomas, Lukas and Dalai for the implementation.
2012-10-25Cycles UI: keep node input sockets collapsed by default in the properties ↵Brecht Van Lommel
editor, when doing the linking in the node editor, to keep the properties editor more clean in this case.
2012-10-12quiet some -Wshadow warningsCampbell Barton
2012-09-20code cleanup: remove unused macros, commet some which may be useful later - ↵Campbell Barton
or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc
2012-09-04stule cleanupCampbell Barton
2012-08-18use rctf struct for UI buttons and blocks, easier to read and means we can ↵Campbell Barton
use BLI_rctf functions.
2012-08-03code cleanup: remove unused includesCampbell Barton
2012-07-01style cleanupCampbell Barton
2012-06-20style cleanup: use TRUE/FALSE for ui align args.Campbell Barton
2012-06-02Fixing most (if not all) remaining issues with nodes UI i18n.Bastien Montagne
Note that I had to script-tag all sokets' names, as they are currently completely unknown from bpy.types (and hence unreachable for our po generating scripts).
2012-05-24style cleanup: brace placement/newlinesCampbell Barton
2012-05-22I18n fixes, mainly for (cycles) nodes (i.e. node template in Buttons window).Bastien Montagne
Note: the problem of sockets translation remains (for all node types), currently they are unavailable from RNA, hence not detected by i18n tools, so only solution is to add N_() in all node sockets templates… yuck! Really have to fix this.
2012-05-05code cleanup: BKE_scene api naming.Campbell Barton
also stop numpy from being found in /usr/include with cmake.
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2012-03-28Fix for the node tree nodes.new API function, this wasn't setting the scene ↵Lukas Toenne
and main context pointers in the node template, used by file output node. Also the file output node itself now works in case of scene==NULL (might happen in some contexts).
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-24style cleanup: mainly for mesh code, also some WM function use.Campbell Barton
2012-03-20Fix related #30606: missing undo push editing node inputs in properties editor.Brecht Van Lommel
2012-03-20Remaining fix for #30606. Added a simple link limit check when replacing ↵Lukas Toenne
nodes and relinking inputs, to avoid double links on inputs.
2012-03-06Fix for 30439, Cycles node group conversion wasn't checking node->id pointer ↵Lukas Toenne
(group node without internal node tree). This is a somewhat unusual case (UI buttons don't allow unlinking group tree), but not entirely forbidden. Also fixed similar issue in node_templates.c where the group tree is used to generate a button name.
2012-02-28move bmesh wiki docs into bmesh header and update doxygen.Campbell Barton
also have doxygen ignore *.py files and fix some warnings.
2012-01-20Cleanup of default_value handling in node sockets.Lukas Toenne
The structs stored in the anonymous void *default_value in bNodeSocket are now handled completely inside node_socket.c. All allocation/freeing/duplicating for this has been replaced by the appropriate calls to generic API functions (declared in NOD_socket.h). This will make the default value handling more reliable for future node socket code. Group socket copying and value conversion has also been moved into the generic socket API file.
2012-01-02remove Id's that crept inCampbell Barton
2011-11-26Fix for linking cycles group nodes in the sidebar menu (bug #29403). The ↵Lukas Toenne
template for ntreeAddNode needs not only the node group pointer but also the NODE_GROUP id for the base type.
2011-11-15Fix #29238: crash with node dependency loop.Brecht Van Lommel
2011-11-09Moving i18n code to BLF_translation.hBastien Montagne
This way, we will be able to use it in non-UI parts of the code too.
2011-11-08Texturing: texture and 3d view draw type changes, these should only have anyBrecht Van Lommel
effect for a render engine using new shading nodes. In short: * No longer uses images assigned to faces in the uv layer, rather the active image texture node is what is edited/painted/drawn. * Textured draw type now shows the active image texture node, with solid lighting. * Material draw mode shows GLSL shader of a simplified material node tree, using solid lighting. * Textures for modifiers, brushes, etc, are now available from a dropdown in the texture tab in the properties editor. These do not use new shading nodes yet. http://wiki.blender.org/index.php/Dev:2.6/Source/Render/TextureWorkflow
2011-11-08Fix: incorrect use of IFACE_ macro, and correct a typo.Brecht Van Lommel
2011-11-08UI/Nodes: templates to edit nodes from the properties editor using a tree view,Brecht Van Lommel
to be used by cycles. For testing there's a panel in the node editor if you set debug to 777, didn't enable it because I'm not sure it's very useful there.