Commit Graph

6871 Commits

Author SHA1 Message Date
Lukas Toenne
81ba62e1e9 Fix for node menu: Show the group input/output nodes in the Input/Output 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-28 09:45:34 +00:00
Brecht Van Lommel
bb15701f86 Particles: patch #35205 by Jakub Zolcik
The Emission panel now has a Use Modifier Stack option to emit particles from
the mesh with modifiers applied. Previously particles would only be emitted from
faces that exist in the original mesh. There are some caveats however:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.68/Tools#Particles
2013-05-27 17:11:05 +00:00
Campbell Barton
5460e31d56 now an addons preference are available when it start,
this change is made so addons may initialize their own settings.
2013-05-27 16:12:06 +00:00
Campbell Barton
8e6ce736c4 disable auto indent when pasting text into the python console. 2013-05-24 01:04:37 +00:00
Thomas Dinges
99b325cebf Cycles / Toon BSDF:
* 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-23 17:45:20 +00:00
Campbell Barton
4625e70430 fix/workaround for problem with osx permissions. 2013-05-23 03:35:57 +00:00
Sergey Sharybin
4c0e50011e Fix #35461: Marker gets initialized to arbitrary position
Use center of currently visible frame part instead of
center of the whole frame for position of marker which
is adding from toolbox.

Used separate operator for this to keep operators more
atomic and not confuse with lots of conflicting properties.
2013-05-22 06:06:22 +00:00
Thomas Dinges
07ee0e6f7d Shader Nodes:
* 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-21 20:21:46 +00:00
Sergey Sharybin
68b9794a40 Fix #35232: Marker right-click misbehavior on adding
Made it so Add Marker button from toolbox will place
marker in the middle of the frame.
2013-05-21 14:44:50 +00:00
Thomas Dinges
3758193c18 Cycles / Wireframe node:
* 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-20 15:58:37 +00:00
Thomas Dinges
eaf493d323 Cycles / OSL:
* Added Westin Sheen and Westin Backscatter closures for testing, useful for Cloth like effects. 

Only available via OSL, added an example OSL shader to the Templates (Text Editor).
2013-05-18 14:36:03 +00:00
Campbell Barton
a554a031f1 bump to version '2.67a' 2013-05-18 08:47:34 +00:00
Miika Hamalainen
d3a6c0c834 Smoke simulator: Add flow subframes and ability to set custom particle size.
Previously it was nearly impossible to have fast moving objects emitting smoke or they would just leave behind a row of smoke poofs instead of continious stream of smoke. Now it's possible to set number of subframes for each smoke flow.

Another new thing is ability to set size of smoke flow particles instead of using closest smoke cell. This also works with my earlier "full sample" commit, so no more blocky particles either. :)

For more info check my blog post: http://www.miikahweb.com/en/blog/2013/05/17/blender-smoke-subframes

This commit also includes couple of fixes I spotted while testing:
* Fix: dissolve was applied at different time for low res and high res simulations.
* Fix: full sample setting didn't get copied with domain.
2013-05-17 17:45:37 +00:00
Bastien Montagne
9d567dd366 This commit addresses the somewhat weak handling of stackless textures in Blender with default (BI) renderer. To do so, it's defining an "other" texture context, and when in this one, it switches to using the "new shading" texture handling already known with Cycles engine.
So now, in the new "other" tex context, you can (depending on active data) have direct access to modifiers', force's or brushes' textures...

I also refactored a bit how texture contexts are handled (once again, we had some quite similar code in both space_buttons and RNA sources). This should also solve some harmless glitches like "no texture context selected in UI" sometimes when you remove data related to current texture (see e.g. after removing the material from default cube, in startup scene).

This usage of two different systems for textures, and the handling of switches between them, has been a bit tricky to get working right, but it is OK now I think. I also had to add a bool flag to buttons space, SB_TEX_USER_LIMITED (use_limited_texture_context in RNA), which indicates "new shading" texture code whether it has to ignore materials, lamps etc. (BI) or not (Cycles).

Btw, pinned textures from modifiers/force/etc. were also broken (showing nothing), now it should work too.

Thanks to Brecht for reviewing.
2013-05-17 07:10:10 +00:00
Dalai Felinto
49003dd90c partial revert of commit 54126 - (BGE UI: removing " use_occlusion_culling" from the ui)
bug reported by Eloy Felix over email

Apparently there are some files that will perform better with "use_occlusion_culling" off.
For now the UI option can return.

Technically this could make into 2.67a, but the string is not localized (it'll be in English).
Not sure what is more important here:

- consistent UI OR to expose in the UI an option some people need
2013-05-16 21:37:24 +00:00
Brecht Van Lommel
00f0ac8107 Fix #35368:
* Editing number of segments for particle hair did not update the viewport.
* Hidden particles were confusing, the paths were drawn but without the points.
  Now it draws the path faded to indicate that they are hidden/locked.
* Select tips/roots operators now have options to select/deselect/toggle/invert.
2013-05-16 00:07:01 +00:00
Campbell Barton
1df12416ca bmesh, grid fill tool.
This uses 2 edge loops and fills them with a grid, taking into account curvature of surrounding edges.
Access from face menu: Ctrl+F,G

http://www.graphicall.org/ftp/ideasman42/grid_fill.png
2013-05-15 20:34:40 +00:00
Brecht Van Lommel
85530846b6 Fix #35376: node editor throwing python error on some files saved with 2.66 test builds. 2013-05-15 19:24:07 +00:00
Lukas Toenne
916ab30ccb Added an entry for Reroute node in the node categories. Reroute is not a "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-13 09:32:17 +00:00
Sergey Sharybin
d9ca50ff64 Refine markers position operator
This operator will run a tracker from previous
keyframe to current frame for all selected markers.
Current markers positions are considering initial
position guess which could be updated by a tracker
for better match.

Useful in cases when feature disappears from the
frame and then appears again. Usage in this case
is the following:

- When feature point re-appeared on frame, manully
  place marker on it.
- Use Refine Markers operation (which is in Track
  panel) to allow tracker to find a better match.

Depending on direction of tracking use either
Forwards or Backwards refining. It's easy: if
trackign happens forwards, use Refine Frowards,
otherwise use Refine Backwards :)
2013-05-12 16:04:14 +00:00
Pablo Vazquez
128a1c1856 Render Layers UI
Expand the Layers panel by default on Blender Internal as well.
2013-05-12 15:25:35 +00:00
Brecht Van Lommel
8e13bb3f60 Fix #35273: click in empty space to deselect as used by the Maya keymap gave
a python error when used in pose mode.
2013-05-10 20:49:16 +00:00
Miika Hamalainen
2f9f3dd590 Smoke: Add new "Full Sample" option to high resolution smoke panel.
This is hopefully the ultimate solution against smoke blockiness near emitter.

Previously high resolution flow/emitter voxels were generated based on the low resolution ones. So if you had 32 resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.

Read more about it in my blog post: https://www.miikahweb.com/en/blog/2013/05/10/getting-rid-of-smoke-blockiness

Also changed "quick smoke" operator default voxel data interpolation mode to "Cubic B-Spline" to smoothen out it even more.
2013-05-10 16:18:00 +00:00
Sergey Sharybin
764420ed3d Set scene frames operator for clip editor.
This operator will set scene's start/end frames to
match clip's start frame and footage duration.

Available in Clip panel in clip editor's toolbox.
2013-05-10 15:56:32 +00:00
Lukas Toenne
a961b683fc Small fix for node add operators: use the UNDO option so they get registered in undo stack properly. 2013-05-10 09:54:25 +00:00
Bastien Montagne
fffab3993d Bit flag enum props are always expanded, no need to specify it explicitely! 2013-05-09 19:30:09 +00:00
Sergey Sharybin
97138e4dac Added a button to apply scale on scene solution
This is an alternative to using camera to scale the
scene and it's expected to be better solution because
scaling camera leads to issues with z-buffer.

Found the whole scaling thing a bit confusing,
especially for object tracking, but cleaning this up
is a bit different topic.
2013-05-09 16:38:55 +00:00
Campbell Barton
675f845116 use standard name for operator properties - 'props'. 2013-05-09 13:05:36 +00:00
Lukas Toenne
56485b6562 Upgrade for the add_search node operator. This now uses the same basic system as the regular add_node operator, with enum items generated from the common node categories system (nodeitems_utils module). This means that any node listed in the regular node Add menu can now also be added via searching, including node groups and the like. The search operator also uses the subsequent transform to make insertion a bit more streamlined. 2013-05-09 11:43:48 +00:00
Lukas Toenne
efcfe88adc Fix for add_node operator: needs to have SKIP_SAVE set for the settings collection to prevent it from re-using settings from a previous call. This would otherwise lead to python exceptions when those properties don't exist for the other node type (point in case: node_tree only is defined for group nodes). 2013-05-09 10:13:13 +00:00
Lukas Toenne
89d77c538a Fix suggested by Campbell Barton: use %r instead of %s when building the python expression for the node operator settings to ensure correct escaping. 2013-05-09 08:05:02 +00:00
Campbell Barton
279a2a1916 fix rna_info, python method to C function wasn't being tested for. (broke changelog generator) 2013-05-09 02:50:59 +00:00
Lukas Toenne
a3c82d4cde Updated the custom_nodes.py template script to reflect socket draw API changes in r56584 and r56585. 2013-05-08 16:17:04 +00:00
Lukas Toenne
a092611f67 Fix for node item polling: recursion check was the wrong way around, needs to test is the parent tree is inside the group. 2013-05-08 15:41:09 +00:00
Lukas Toenne
d7c74acab1 Added filter to the node group items callback to remove recursive node 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-08 15:41:07 +00:00
Lukas Toenne
8863222a90 A bit more pythonic way of using the items callback in node categories. The 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-05-08 15:41:05 +00:00
Lukas Toenne
3ebe7d970e Moved a couple of common properties into the NodeAddOperator base class to avoid repetitive code. A new operator node_add_and_link is another variant that first creates a node and them connects a specific socket to an existing one (defined by context pointer). 2013-05-08 15:40:53 +00:00
Lukas Toenne
451a32070c Removed the unused socket template system from the bpy_types Node base class (it interferes with the input_templates/output_templates functions from C nodes). This can be reimplemented in a nicer way for pynode subclasses later on, but should not be part of the basic Node class. 2013-05-08 15:40:51 +00:00
Lukas Toenne
701aa8b59b Removed the add_group_node operator, this is now integrated into the generic node_add operator. The group node tree pointer is then part of the settings dictionary. 2013-05-08 15:40:46 +00:00
Lukas Toenne
bfa97b4710 Workaround for C nodes: In order to make registerable RNA methods of the standard C nodes (e.g. poll or draw_buttons) available in python scripts, they need a specialized Node subtype (called NodeInternal). This is necessary because bpy omits any registerable functions of RNA types in the generated python classes, relying instead on using the supposed native implementation in a registered python class. Since the standard shader/compositor/texture nodes in Blender are not registered but directly created in makesrna they lack all registerable function in the associated python types. The NodeInternal RNA subtype replaces the registerable functions of the base Node type to solve this issue. 2013-05-08 15:40:40 +00:00
Campbell Barton
8193d83cd9 split dissolve into 3 different operators (face/edge/vert). 2013-05-08 13:48:57 +00:00
Campbell Barton
a6a6184b3e auto indent for multi-line python statements. 2013-05-08 12:57:00 +00:00
Ton Roosendaal
a0800cb8b3 And here's the epic 2.67 splash and version!
Celebrating Freestyle :) Kudos to dfeveloper Tamito and Malaysian artist Mclelun!
2013-05-07 16:27:55 +00:00
Campbell Barton
c97983c9de correction for uv template, also some doxygen comment corrections. 2013-05-05 18:41:45 +00:00
Campbell Barton
998b9241be correct bmesh api crossref and update uv-operator template. 2013-05-05 05:54:29 +00:00
Thomas Dinges
36c4dc2d5b Cycles / Preview render:
* Hair strands were too thin in preview, after addition of "radius_scale" property in r56072.
Increased the scale from 0.01 to 0.03 now.
2013-05-04 23:12:17 +00:00
Thomas Dinges
2741dd0fe3 * Remove unused screens from Cycles preview blend to save some space. 2013-05-04 23:02:05 +00:00
Bastien Montagne
95271e248a One-liner fix for part of regression of nodes UI translation (since new pynodes): add menu entries are translated again.
The sockets' names remain untranslated currently, investigating whether this can safely be fixed at this stage too...
2013-05-03 12:37:45 +00:00
Tamito Kajiyama
b1afee23da Fix for shaders.py based on code review comments from flokkievids.
Only the suggested changes that cause backward incompatibility were considered for now.

* Removed pyFXSThicknessShader that is identical with pyConstantThicknessShader.

* Swapped the order of two arguments of the pyDecreasingThicknessShader constructor
in line with other shaders taking the same arguments.

* Made module functions smoothC and get_fedge into methods of relevant shader classes.

* Removed pyExtremitiesOrientationShader that relied on undefined Stroke methods.
2013-05-03 02:37:43 +00:00
Brecht Van Lommel
cc86176a60 Fix #35190: texture mask stencil Reset Transform did not work properly. 2013-05-02 17:55:17 +00:00