Age | Commit message (Collapse) | Author |
|
nodes. This was a feature i tested a while back but was only partially supported by Blender Internal renderer and the old compositor. The main idea was to have nodes that automatically mirror input and output sockets to support incremental changes of "internal variables".
It is not a well-supported feature of the primary node systems (shader, compositor, texture) in Blender. If anybody wants to create a node system that has actual use for loops, they can do so much more elegantly with Python nodes, but it does not have to be a core node type in Blender. Removing this should ease node code maintenance a bit.
|
|
|
|
also noticed ED_undo_push was checking USER_GLOBALUNDO unnecessarily
|
|
This follows the naming in the View3D space, since this vector is used for essentially the same purpose (adding nodes at a specific location), although not used for any transform origin and not displayed in the editor.
Note: While renaming DNA properties is usually dangerous and can break files, in this case it is possible because the mx/my values are only used at runtime.
|
|
The 'Add' menu in the node editor now has an option 'Search' at the top, which opens a separate popup for searching node types by name.
The operator for this is implemented completely in Python (this could also be done for the regular menu-based Add options in the future). There are a few necessary extensions to the RNA as well:
* The View2D struct in regions is now exposed. Currently only contains converter functions for coordinates from the region to the view (i.e. scrolled and zoomed view space). Used for converting mouse location to node space.
* The SpaceNode exposes the existing 'cursor_location' for operators to store mouse position beyond invoke calls. Not used for anything else (transforms) so far.
* The edit_tree in SpaceNode is also exposed, this is needed for operators to work correctly inside node groups.
|
|
|
|
|
|
|
|
|
|
also stop numpy from being found in /usr/include with cmake.
|
|
else if's
|
|
*Add menu is now translated.
*Nodes' title is now translated.
*Nodes' sockets' labels are now translated.
However, about the last point, and unless I’m mistaking, we’ll have to add the "i18n tag" N_() to all sockets' names, in the input/ouput templates declaration, in all nodes' files, as those sockets are collections created at runtime, I think po-generating script has no way to access that from bpy.types... Quite a piece of (borring) work. :/
|
|
Unlike the existing file output node this node has an arbitrary number of
possible input slots. It has a base path string that can be set to a general
base folder. Every input socket then uses its name as an extension of the base
path for file organization. This can include further subfolders on top of the
base path. Example:
Base path: '/home/user/myproject'
Input 1: 'Compo'
Input 2: 'Diffuse/'
Input 3: 'details/Normals'
would create output files
in /home/user/myproject: Compo0001.png, Compo0002.png, ...
in /home/user/myproject/Diffuse: 0001.png, 0002.png, ... (no filename base
given)
in /home/user/myproject/details: Normals0001.png, Normals0002.png, ...
Most settings for the node can be found in the sidebar (NKEY). New input sockets
can be added with the "Add Input" button. There is a list of input sockets and
below that the details for each socket can be changed, including the sub-path
and filename. Sockets can be removed here as well. By default each socket uses
the render settings file output format, but each can use its own format if
necessary.
To my knowledge this is the first node making use of such dynamic sockets in
trunk. So this is also a design test, other nodes might use this in the future.
Adding operator buttons on top of a node is a bit unwieldy atm, because all node
operators generally work on selected and/or active node(s). The operator button
would therefore either have to make sure the node is activated before the
operator is called (block callback maybe?) OR it has to store the node name
(risky, weak reference). For now it is only used in the sidebar, where only the
active node's buttons are displayed.
Also adds a new struct_type value to bNodeSocket, in order to distinguish
different socket types with the same data type (file inputs are SOCK_RGBA color
sockets). Would be nicer to use data type only for actual data evaluation, but
used in too many places, this works ok for now.
|
|
|
|
|
|
* Scene.use_shading_nodes property to check if RenderEngine is using new shading
nodes system, and RenderEngine.bl_use_shading_nodes to set this.
* Add mechanism for tagging nodes as being compatible with the old/new system.
|
|
http://markmail.org/message/fp7ozcywxum3ar7n
|
|
Previous state:
Right now, there are "memories" of the "old" (less than a month!) translation way:
* A few remaining calls to BLF_gettext() (only UI_translate_do_iface and UI_translate_do_tooltip should be used).
* The _() macro still also calls BLF_gettext()!
New state:
Here are the changes made by the patch:
* Removing the no more needed _() macro.
* Removing most N_() and _() calls, only keeping the few needed ones (i.e. strings that are in no other way findable by xgettext and/or update_msg script).
* Defining in UI_interface.h IFACE_() and TIP_() macros (resp. for UI_translate_do_iface and UI_translate_do_tooltip).
* Replacing all calls to BLF_gettext by relevant IFACE_ or TIP_ one.
* Replacing all calls to UI_translate_do_iface by IFACE_.
* Replacing all calls to UI_translate_do_tooltip by TIP_.
All this somewhat clarifies and simplifies the code.
On the bf-translations scripts side, this only implies adding IFACE_ and TIP_ as detection markers for xgettext.
It also allows to reduce POTFILES.in quite notably (only 20 files remaining in it).
Please also have a look at those pages:
* Coder POV: http://wiki.blender.org/index.php/Dev:2.5/Source/Interface/Internationalization
* Translator POV: http://wiki.blender.org/index.php/Dev:2.5/Doc/How_to/Translate_Blender
|
|
|
|
- Move all translation-related declarations to BLF_translation.h
- Reverted some changes to match trunk svn rev40365
|
|
is used only)
|
|
- Make gettext stuff draw-time. so switching between languages
can happens without restart now.
- Added option to translate visible interface (menus, buttons, labels)
and tooltips. Now it's possible to have english UI and localized tooltips.
- Clean-up sources, do not use gettext stuff for things which can be
collected with RNA.
- Fix issues with windows 64bit and ru_RU locale on my desktop
(it was codepage issue).
- Added operator "Get Messages" which generates new text block with
with all strings collected from RNA.
- Changed script for updating blender.pot so now it appends
messages collected from rna to automatically gathered messages.
To update .pot you have to re-generate messages.txt using "Get Messages"
operator and then run update_pot script.
- Clean up old translation stuff which wasn't used and most probably
wouldn't be used.
- Return back "International Fonts" option, so if it's disabled, no
gettext lookups happens on draw.
- Merged read_homefile function back. No need in splitting it.
TODO:
- Custom fonts and font size.
Current font isn't nice at least for russian locale, it's
difficult to read it.
- Put references to messages.txt so gettext can merge translation when
name/description of some property changes.
|
|
|
|
node. Both the category and the node could be renamed as needed. The frame node is largely experimental and not totally useful yet, but much asked for, so can't hurt to let people try it out.
|
|
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too.
Detailed information can be found on the wiki page:
http://wiki.blender.org/index.php/User:Phonybone/Particles2010
|
|
|
|
so fix a missing updating when activating a node with multiple node editors open.
|
|
|
|
usable results and leads to annoyed artists.
|
|
|
|
|
|
|
|
* Change ICON_NULL --> ICON_NONE to avoid two #defines with the same meaning.
|
|
|
|
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
|
|
- New Node editor now opens with larger view, the default
was like zoomed in factor 2.
- Add node via menu now shows new node more visible
- Click on (material) node now doesn't re-render the entire
tree anymore, much nicer.
- Duplicate node creates preview image immediate
|
|
functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
|
|
|
|
was using the 4th selection flag on tri's.
also some minor changes, removed unused args and corrected some comments.
|
|
caused auto connect to not work in some cases, because that now orders nodes
and only connects if the new node is to the right of the old node.
I doubted between always connecting to the new node as output or keeping this
ordering trick also when adding nodes. Decided on the latter because then you
can also add a node between two others and have it auto connect to both.
|
|
- remove MEM_guardedalloc.h from header files (include directly)
|
|
|
|
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing: UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
|
|
|
|
|
|
Now it automatically decides how to connect the nodes up, based on the node positions. This lets you do fun stuff like in this video: http://www.vimeo.com/8548698
|
|
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
|
|
* 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
|
|
3D add menu can be shared.
|
|
* Fix header menu spacing bug, and make it consistent for all headers.
* For consistency, always put menus first in the header, then any enums
to switch the type of data displayed.
* Node editor header ported to python layout. Still quite a few
operators missing to make the menus complete.
* RNA wrapped node editor, and added use_nodes property to material
and scene.
|