Commit Graph

771 Commits

Author SHA1 Message Date
Campbell Barton
09bb37fe93 svn merge ^/trunk/blender -r46684:46699 2012-05-16 16:41:51 +00:00
Bastien Montagne
04bc61a0d5 Nodes i18n: don't call gettext stuff twice for categories' names, when building Add menu.
Now ui-names in foreach_nodeclass functions are only marked as translatable, it’s up to the callback to actually translate them or not!
2012-05-16 15:01:46 +00:00
Lukas Toenne
a7e6d38727 Fix #31472: displace node wrong y derivative (simple typo). Credit to Ervin Weber (lusque) for the fix. 2012-05-16 09:22:59 +00:00
Campbell Barton
2a3fddf5b3 svn merge: Merging r46558 through r46612, from trunk 2012-05-13 18:16:25 +00:00
Campbell Barton
b3c1c03ba4 style cleanup: mask files 2012-05-13 16:24:42 +00:00
Campbell Barton
85fd56a3a8 code cleanup: some style and use math defines, also small speedup for dynamicpaint, dont call acosf twice. 2012-05-12 16:42:12 +00:00
Sergey Sharybin
4359564d9b Merging r46495 through r46557 from trunk into soc-2011-tomato 2012-05-11 17:39:57 +00:00
Lukas Toenne
9d91bc38d3 A couple more changes to the file and image nodes to improve access to layers that don't follow Blender's rlayer.rpass naming scheme.
--- Changes to File Output node ---
* Flat layer names in EXR multilayer files.

 For a socket with name "AAA" the previous resulting EXR layer name would be "AAA.AAA", i.e. the render layer as well as render pass would use the socket name.

 Now the "render_layer.render_pass" scheme is ignored in multilayer files, socket names are directly written to EXR layers (EXR layer name is "AAA" in this example). If sockets should have a notion of "render layer" this can still be achieved by explicitly adding a separator, e.g. "AAA.BBB". When loading such layers into a Blender Image struct, the name is interpreted as a "render_layer.render_pass" again (although the image node does not care about it, see below).

* Socket sub-paths (for singlelayer) or layer names (for multilayer) are stored in dedicated string variables in the socket storage data. This way the RNA can define precise string subtypes (PROP_FILEPATH) and length. The file/layer slots are defined as separate structs with own name properties in the RNA as well, so they can be used nicely with the list template.

* Ensure unique socket paths/layer names to prevent overwriting of files and layers respectively.

--- Changes to Image node ---
* Loading multilayer OpenEXR files has improved layer name splitting into render layer + render pass names now. This properly supports arbitrary EXR layer names now.
  Example:

 OpenEXR layer name:   AAA.BBB.CCC

 is split into

 Render layer name:    AAA.BBB
 Render pass name:     CCC

 If the layer name has no '.' separators the render layer name is empty.

* Image node ignores the selected render layer in the image user data. Instead all existing layers are displayed at the same time by combining the render layer names with render pass names again, to reconstruct the original EXR layer name. This avoids the problem that render layers with empty name are not selectetable in the dropdown and allows using all image layers at the same time without duplicating the node.
2012-05-11 08:06:01 +00:00
Sergey Sharybin
dfad263219 Merging r46456 through r46468 from trunk into soc-2011-tomato 2012-05-09 15:37:56 +00:00
Campbell Barton
385e5eb92e code cleanup: color/bw conversion - use BLI color function.
change modifier to use the average of the RGB since perceptual conversion isn't really needed for modifiers.
2012-05-09 10:48:24 +00:00
Sergey Sharybin
16d93f3881 Merging r46203 through r46413 from trunk into soc-2011-tomato 2012-05-08 13:01:16 +00:00
Brecht Van Lommel
e6a84eb1b5 Cycles: add light falloff node, with quadratic/linear/constant falloff and a
smoothing factor to reduce high values near the light.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Light_Falloff

Note that this was already possible to do manually with the Ray Length, but
this adds a convenient node for it. This commit also makes the mapping node
min/max option work, fixing #31348.
2012-05-07 20:24:38 +00:00
Campbell Barton
1dccd4c98a code cleanup: naming - pose/armature/image
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05 16:03:57 +00:00
Campbell Barton
299ff91ea1 code cleanup: BKE_scene api naming.
also stop numpy from being found in /usr/include with cmake.
2012-05-05 14:33:36 +00:00
Campbell Barton
a731e13043 code cleanup: function naming, use BKE_*type* prefix. 2012-05-05 14:03:12 +00:00
Campbell Barton
084fedd03a code cleanup: brush/camera naming 2012-05-05 00:58:22 +00:00
Sergey Sharybin
df553582e9 Fix #31288: Blender crash when select a material
Quite the same issue as render crash on missed shader groups, needed a NULL-check
in node exec function as well.
2012-05-04 11:49:58 +00:00
Sergey Sharybin
e3535e884a Style cleanup: spaces around operators 2012-05-03 23:47:39 +00:00
Sergey Sharybin
d10da0fbd2 Fix #31272: Blender Crashes when press render
Issue was caused by missed libraries. Seems compositor nodes already does check
in such cases, added the same check to texture and shader nodes.
2012-05-03 12:55:18 +00:00
Bastien Montagne
aecddee333 Grr! Fix for own error in r46193. 2012-05-03 05:39:30 +00:00
Sergey Sharybin
3336909050 Merging r46137 through r46202 from trunk into soc-2011-tomato 2012-05-02 18:07:01 +00:00
Brecht Van Lommel
d64661b507 Cycles: add Ray Length output to Light Path node. This gives the distance travelled
by the last light ray. One use case for this might be to do absorption.

Patch #31232 by Agustin benavidez, see this blog post for details:
http://agus3d.blogspot.com.ar/2012/05/blender-cycles-ray-length-node-output.html
2012-05-02 17:03:46 +00:00
Brecht Van Lommel
b2a9d012b4 Fix #31236: linking a socket of a different type to an existing node group output
would crash, did not convert default value storage correctly.
2012-05-02 15:47:15 +00:00
Bastien Montagne
1d2e1018f7 Small enhancement to Fast Gaussian compo blur node: do not compute when size is below 0.001!
(Was already checked/done for other blur algos, can be annoying when you animate the blur size to apply it only on a few frames.)
2012-05-02 14:29:12 +00:00
Lukas Toenne
01b3deb680 A number of changes to node RNA and the file output node, to simplify socket types and make node code more robust for future nodes with extra socket data.
* Removed the struct_type identifier from sockets completely. Any specialization of socket types can be done by using separate collections in RNA and customized socket draw callbacks in node type. Sockets themselves are pure data inputs/outputs now. Possibly the sock->storage data could also be removed, but this will change anyway with id properties in custom nodes.

* Replaced the direct socket button draw calls by extra callbacks in node types. This allows nodes to draw sockets in specialized ways without referring to the additional struct_type identifier. Default is simply drawing the socket default_value button, only file output node overrides this atm.

* File output node slots now use a separate file sub-path in their storage data, instead of using the socket name. That way the path is an actual PROP_FILEPATH property and it works better with the UI list template (name property is local to the data struct).

* Node draw contexts for options on the node itself and detail buttons in the sidebar now have an extra context pointer "node" (uiLayoutSetContextPointer). This can be used to bind operator buttons to a specific node, instead of having to rely on the active/selected node(s) or making weak links via node name. Compare to modifiers and logic bricks, they use the same feature.

* Added another operator for reordering custom input slots in the file output node.
2012-05-02 07:18:51 +00:00
Campbell Barton
6327c9aae1 style cleanup: whitespace, braces 2012-05-01 20:08:23 +00:00
Campbell Barton
933b3166fc style cleanup: guys - set your editors to tabs! 2012-05-01 17:51:03 +00:00
Sergey Sharybin
4413e0472d Merging r46111 through r46136 from trunk into soc-2011-tomato 2012-05-01 09:17:22 +00:00
Campbell Barton
112162e09e code cleanup: header cleanup 2012-04-30 14:24:11 +00:00
Sergey Sharybin
9151d46d7d Tomato: initial commit of mask editing tools into SVN
- Added new dtaablock called Mask which might be re-used in any area.
  Currently editing of masks happens in clip editor and they might be used in
  compositor nodes only.
- Added new mode to clip clip editor to interact with masks.
  Implemented basic tools to create shapes, splines and points. Also implemented
  idea of UW points for feather which means feather points are have got U
  coordinate along spline (which is measured from 0 to 1) and W is it's weight
  meaning distance from main spline.
- Spline points might be parented to movie tracks.
  Interface for this isn't best yet.
- Rasterisaztion of masks happens in compositor node (Input -> Mask)
  Input image of this ode is used as reference for mask resolution.
  Currently all splines of all shapes are rasterizing independently which
  means shapes with holes are not supported.
  Also feather rasterization is not implemented.

  Rasterized was implemented by Pete Larbell, thanks!

Do not consider this is something finished, there's still lots of things to
be done (especially from interface and usability points of view).
2012-04-30 07:43:21 +00:00
Robert Holcomb
502e594abb Fixed UI bug in distance, chroma, and difference nodes that caused the threshold to be limited by the falloff value. These should be independent. Cleaned up how falloff works in keying nodes. 2012-04-29 20:07:29 +00:00
Campbell Barton
343edf2722 style cleanup: function calls & whitespace. 2012-04-29 17:11:40 +00:00
Campbell Barton
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
Brecht Van Lommel
22de538eb1 Cycles: missed merging this file from tomato branch, for normal output in node. 2012-04-29 14:23:50 +00:00
Sergey Sharybin
3cceab304a Style cleanup in own compositor nodes 2012-04-28 08:43:24 +00:00
Campbell Barton
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
Antony Riakiotakis
4782522379 Add libMV and Scons support for MinGW-w64, patches by Caleb Joseph with slight modifications.
Thanks!
2012-04-24 12:57:58 +00:00
Campbell Barton
5c89138684 style cleanup: comments 2012-04-22 11:54:53 +00:00
Lukas Toenne
d02aed6c64 Fix for image node: has to check the number of actual node sockets before accessing the output data stack, to avoid reading uninitialized memory. 2012-04-21 13:36:57 +00:00
Campbell Barton
6701933f5c style cleanup 2012-04-21 12:51:47 +00:00
Lukas Toenne
f4498e62a7 Dynamic output sockets for the image input node. This is needed to enable the node to read arbitrary multilayer exr files. Output sockets of this node are now generated dynamically when the image is updated. The image buffer has to be loaded to detect multilayer files on update. 2012-04-16 13:49:33 +00:00
Thomas Dinges
51211b9419 Revert rename of ColorRamp node from r45629.
Don't make such changes based on an assumption, it could be wrong and coordinate with the UI team first!
2012-04-14 18:05:44 +00:00
Bastien Montagne
310c0b9f10 Fixed another bunch of i18n bugs (thx to Leon Cheung for spotting them), among which:
* Drag'n'drop translation in Outliner
* "Execute" button in file window
* "Labels" of spacing elements, in multi-column enums
* A glitch with nodes "Value to RGB", they where called "ColorRamp" in node_type_base() call. This is not definitive, though, as it appears that UI node names are determined by this call, while it should be by "defines" in rna_nodetrre_types.h, I guess... Anyway, not good to have such things in two different places!

Also moved default context name under BLF_translation.h, much better to have those all in one place, accessible from whole Blender code!
2012-04-14 15:06:41 +00:00
Campbell Barton
b4a0152e76 code cleanup: float formatting was confusing in some cases - eg: (0.,0.,0.) 2012-04-11 08:15:13 +00:00
Campbell Barton
670cdd5381 code cleanup:
always use if (...) even if the macros dont require it (confuses parsers)
  define macros without the ';'s included.
2012-04-02 02:41:28 +00:00
Campbell Barton
21ac9ae461 code cleanup: use uppercase defines and change drawFCurveFade into static function. 2012-03-31 04:04:58 +00:00
Campbell Barton
5b88712ff9 move debug flag into its own global var (G.debug), split up debug options.
--debug
  --debug-ffmpeg
  --debug-python
  --debug-events
  --debug-wm

This makes debug output easier to read - event debug prints would flood output too much before.

For convenience:
  --debug-all turns all debug flags on (works as --debug did before).

also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
2012-03-31 00:59:17 +00:00
Brecht Van Lommel
f469e0652a Node socket values now only have soft limits, rather than hard limits, so you
can type in any value, and only when sliding the number value there is a limit.
It was already possible to assign any value to a socket with node linking, so
this shouldn't cause any new issues.

Also raised the limits on the math nodes, with a patch by Agustin Benavidez.
2012-03-30 16:09:05 +00:00
Brecht Van Lommel
0dd3408123 Cycles: add alpha output to image node. 2012-03-28 09:07:43 +00:00
Lukas Toenne
f342c7de45 Fix for the node tree nodes.new API function, this wasn't setting the scene 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-28 07:48:08 +00:00