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
2013-09-16Cycles Hair: Two basic bair shaders addedStuart Broadfoot
A new hair bsdf node, with two closure options, is added. These closures allow the generation of the reflective and transmission components of hair. The node allows control of the highlight colour, roughness and angular shift. Llimitations include: -No glint or fresnel adjustments. -The 'offset' is un-used when triangle primitives are used.
2013-08-16Merge plane track feature from tomato branchSergey Sharybin
This commit includes all the changes made for plane tracker in tomato branch. Movie clip editor changes: - Artist might create a plane track out of multiple point tracks which belongs to the same track (minimum amount of point tracks is 4, maximum is not actually limited). When new plane track is added, it's getting "tracked" across all point tracks, which makes it stick to the same plane point tracks belong to. - After plane track was added, it need to be manually adjusted in a way it covers feature one might to mask/replace. General transform tools (G, R, S) or sliding corners with a mouse could be sued for this. Plane corner which corresponds to left bottom image corner has got X/Y axis on it (red is for X axis, green for Y). - Re-adjusting plane corners makes plane to be "re-tracked" for the frames sequence between current frame and next and previous keyframes. - Kayframes might be removed from the plane, using Shit-X (Marker Delete) operator. However, currently manual re-adjustment or "re-track" trigger is needed. Compositor changes: - Added new node called Plane Track Deform. - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image input, which need to be warped into the plane. - Node outputs: * Input image warped into the plane. * Plane, rasterized to a mask. Masking changes: - Mask points might be parented to a plane track, which makes this point deforming in a way as if it belongs to the tracked plane. Some video tutorials are available: - Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4 - Artist video: https://vimeo.com/71727578 This is mine and Keir's holiday code project :)
2013-07-04Cycles:Thomas Dinges
* Added 2 new nodes to combine and separate HSV colors. Screenshot: http://www.pasteall.org/pic/show.php?id=54828
2013-06-27Merged revision(s) 57768-57827 from trunk/blender into soc-2013-dingtoThomas Dinges
2013-06-27pep8 cleanupCampbell Barton
2013-06-20Cycles / Vector Transform Node:Thomas Dinges
* First step towards a new vector transform node, to convert Points/Vectors between World/Object/Camera space. This only contains the Blender UI, RNA... code, no Cycles integration yet.
2013-06-13Cycles / Blackbody node:Thomas Dinges
* First step towards a Blackbody to RGB converter. You can specify a color in Kelvin inside the node. * Only implemented for OSL atm, SVM will follow.
2013-06-10Cycles / Wavelength to RGB node:Thomas Dinges
* Added a node to convert wavelength (in nanometer, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier. Example render: http://www.pasteall.org/pic/show.php?id=53202 ToDo: * Move some functions into an util file, maybe a common util_color.h or so. * Test GPU, unfortunately sm_21 doesn't work for me yet.
2013-06-05Fix #35633, Cannot Add Group Node In Blender 2.67a. The menu entry for the ↵Lukas Toenne
"make group" operator was missing in the new categories system. Added an alternative NodeItemCustom to the standard NodeItem to allow custom draw functions such as this operator. Used in the group items callback to generate the basic group_make operator call.
2013-05-28Fix for node menu: Show the group input/output nodes in the Input/Output ↵Lukas Toenne
categories respectively, so they can be added with the usual UI in case the user deletes them. These nodes are polled out for non-group trees (node trees not in the bpy.data.node_groups collection) to avoid confusion. For that purpose a new optional poll function argument has been added to NodeItem, which allows selectively polling individual items in an otherwise static list.
2013-05-23Cycles / Toon BSDF:Thomas Dinges
* Added a toon bsdf node to Cycles. This was already available as OSL only closure, but is now available inside the SVM backed as well, for CPU and GPU rendering. * There are 2 variations available, diffuse and glossy toon, selectable via a menu inside the node. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Toon Example render & blend file: http://www.pasteall.org/pic/show.php?id=51970 http://www.pasteall.org/blend/21579
2013-05-22Shader Nodes:Thomas Dinges
* Use unified node sizes, as already was done with compositor nodes. Only Mapping node uses a custom size. This way we don't have too small nodes on creation anymore. * Don't show Script Category for Blender Internal nodes.
2013-05-20Cycles / Wireframe node:Thomas Dinges
* Added a wireframe node (Input category) to get access to Mesh wireframe data. The thickness can be controlled via a "Size" parameter, and is available in world units (default) and screen pixel size. * Only the triangulated mesh is available now, quads is for later. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Wireframe Render and Example file: http://www.pasteall.org/pic/show.php?id=51731 http://www.pasteall.org/blend/21510
2013-05-13Added an entry for Reroute node in the node categories. Reroute is not a ↵Lukas Toenne
"real" node, but for users it's a bit hard to find, so a menu entry is ok for now. Eventually a context menu for nodes could be a nicer solution: right-click on node link opening a popup with operators for the node, socket or link under cursor, including option "Insert Reroute".
2013-05-09Fix suggested by Campbell Barton: use %r instead of %s when building the ↵Lukas Toenne
python expression for the node operator settings to ensure correct escaping.
2013-05-08Fix for node item polling: recursion check was the wrong way around, needs ↵Lukas Toenne
to test is the parent tree is inside the group.
2013-05-08Added filter to the node group items callback to remove recursive node ↵Lukas Toenne
groups right from the start. These tree pointers would be polled out internally as well, but this way they don't show up in the menus in the first place.
2013-05-08A bit more pythonic way of using the items callback in node categories. The ↵Lukas Toenne
category.items attribute is now a function taking a context parameter instead of a property. This can be used for checking validity, e.g. for doing node group recursion checks, and filter out unusable items.
2013-04-28Fix [#35127] Layout -> Frame doen't exist anymoreThomas Dinges
2013-04-22Nicer registration mechanism for node categories. The lists of node ↵Lukas Toenne
categories and items are now stored in a dictionary with an identifier key, so they can be registered and unregistered individually. The Add menu is now persistent and gets extended with a draw function for each of the registered node category lists. This allows pynodes to define their own list of node categories and items and register it at runtime without interfering with the standard nodes.
2013-04-14Shader nodes / order:Thomas Dinges
* Have all "Info" nodes next to each other. * Moved "Material Output" to the top. * Have all light shaders (Emission, Background, AO) next to each other.
2013-04-13Node categories / Add menu:Thomas Dinges
* Fix for Subsurface Scattering node.
2013-04-13Replacing the node Add menu and making the toolbar usefulLukas Toenne
As some people have already noticed, the "Add" menu for nodes is a bit messy since pynodes merge. The reason for this is that the order of nodes in submenus (categories) was previously defined by the order in which all nodes are registered (at the bottom of blenkernel/intern/node.c). For the dynamic registration of node types now possible this system of defining node order along with registration is no longer viable: while it would still sort of work for C nodes, it is completely meaningless for dynamic (python) nodes, which are basically registered automatically in whatever order modules and addons are loaded, with the added complexity of unloading and reloading. To fix this problem and add a bunch of desirable features this commit replaces the C menu with a python implementation. The new menu does not rely on any particular order of types in the node registry, but instead uses a simple explicit list of all the available nodes, grouped by categories (in scripts/nodeitems_builtins.py). There are a number of additional features that become possible with this implementation: 1) Node Toolbar can be populated! The list of nodes is used to create 2 UI items for each node: 1 entry in a submenu of "Add" menu and 1 item in a node toolbar panel with basically the same functionality. Clicking a button in the toolbar will add a new node of this type, just like selecting an item in the menu. The toolbar has the advantage of having collapsible panels for each category, so users can decide if they don't need certain nodes categories and have the rest more easily accessible. 2) Each node item is a true operator call. The old Add menu is a pretty old piece of C code which doesn't even use proper operator buttons. Now there is a generic node_add operator which can be used very flexibly for adding any of the available nodes. 3) Node Items support additional settings. Each "NodeItem" consists of the basic node type plus an optional list of initial settings that shall be applied to a new instance. This gives additional flexibility for creating variants of the same node or for defining preferred initial settings. E.g. it has been requested to disable previews for all nodes except inputs, this would be simple change in the py code and much less intrusive than in C. 4) Node items can be generated with a function. A callback can be used in any category instead of the fixed list, which generates a set of items based on the context (much like dynamic enum items in bpy.props). Originally this was implemented for group nodes, because these nodes only make sense when linked to a node tree from the library data. This principle could come in handy for a number of other nodes, e.g. Image nodes could provide a similar list of node variants based on images in the library - no need to first add node, then select an image. WARNING: pynodes scripters will have to rework their "draw_add_menu" callback in node tree types, this has been removed now! It was already pretty redundant, since one can add draw functions to the Add menu just like for any other menu. In the future i'd like to improve the categories system further so scripters can use it for custom node systems too, for now just make a draw callback and attach it to the Add menu.