Commit Graph

1035 Commits

Author SHA1 Message Date
0b2fcf4368 change to scale node - multiply scale by scene size, without this theres no reliable way to match different scaled footage to an output and still have useful preview's at <100 percentage. 2012-06-14 15:04:40 +00:00
1f19bacf8e Kaying node from tomato branch
Merge keying node from tomato branch into trunk.

It was considered stable and helpful by Mango team and it'll help
studio pipeline, because nodes would stop disappearing when opening
files in current trunk.

Full information about keying nodes could be found there:
http://wiki.blender.org/index.php/User:Nazg-gul/Keying
2012-06-14 12:19:13 +00:00
d56e77ada5 Keying Screen node from tomato branch
Merge Keying Screen node developed in tomato branch into trunk.

This node is aimed to make dealing with non-even greenscreens better
by generating gradiented image which could be used a input for keyer
nodes.

Based on building voronoi diagram using motion tracking markers as
sites position and average pattern color as color for that site.

Pretty straignforward node, some documentation is there
http://wiki.blender.org/index.php/User:Nazg-gul/Keying#Screen_color
2012-06-14 12:18:42 +00:00
ceffc2cd50 add Anti-Aliasing (very rough draft algorithm, NOT FINAL version) to raskter lib. Code is still quite messy but will be replaced when final algo comes in anyway. 2012-06-13 19:57:23 +00:00
1dec23d33a add rgb_to_luma_y(), was being done inline in many places. 2012-06-13 15:05:42 +00:00
16dededdf3 remove input socket of mask node, this wasnt used. 2012-06-12 18:36:49 +00:00
Lukas Toenne
6c4510f681 Modification of node groups by adding/removing nodes is not possible yet. This patch extends the 'Make Group' operator and adds a new 'Separate' operator to add such functionality.
1) For inserting into existing groups:
  The 'Make Group from selected' (CTRL+g) operator shows a selection popup (like the object parenting operator), with options depending on the type of the active node (last selected):
  * "New" -> regular operator, creates new group type with all selected nodes inside.
  * "Insert" (only if active node is a group) -> adds all other selected nodes into the group.

  Currently still prohibits groups inside groups in general, though would be technically possible as long as no actual recursion occurs (group containing itself).

2) For extracting from an existing group:
  New 'Separate from group' operator (p), works similar to separating vertices/edges/faces from mesh. Two modes:
  * "Copy" makes a copy of the nodes in the parent tree, but keeps the original group intact.
  * "Move" removes selected nodes from the node group and adds them to the parent tree
2012-06-12 08:44:46 +00:00
Lukas Toenne
caa59446ab Reroute node socket types update automatically from connections when possible. This prevents unnecessary conversions and breaking connections when linking incompatible types to the reroute color sockets (point in case: cycles shaders). 2012-06-12 08:28:25 +00:00
Lukas Toenne
edecf49d84 Fix for node 'make group' operator in combination with frame nodes. When a selected node is attached to an unselected frame, the parent pointer would end up pointing to a different ID data block. 2012-06-11 15:28:45 +00:00
075b35572e This node was never actually commited to svn. 2012-06-11 09:18:55 +00:00
ecbd2842dc Add screen balance into interface
Could be helpful to be played around. Default value is 0.5,
Most probably this default value should be set manually for
older files.
2012-06-10 17:41:04 +00:00
f06f1878c2 Merging r47624 through r47661 from trunk into soc-2011-tomato 2012-06-10 09:44:26 +00:00
039acbbfef Homography correction for track preview widget
Use homography transformation for pattern displayed in track preview widget.
Sampling of this pattern happens to resolution of preview widget itself,
which implied some bigger changes in how scopes are working:

- Instead of real pattern store search area in BKE_movieclip_update_scopes,
  which is later used for sampling pattern.
- Sampling of pattern happens in ui_draw_but_TRACKPREVIEW from search area
  which allows to sample it to actual resolution of preview widget.
- If size of preview widget is not changing, this sampled pattern wouldn't
  be re-sampled until scopes are tagged to update.

There are some issues with pattern sampling which seems to happen SamplePlanarPatch,
changing linear sampling to nearest removes that unwanted 1px offset.

Left commented saving of sampled image in ui_draw_but_TRACKPREVIEW which should
help figuring the issue out.
2012-06-09 11:14:36 +00:00
56c5c63f57 code cleanup: doxy comment filename corrections 2012-06-08 23:43:11 +00:00
5728b11ef2 Merging r47612 through r47623 from trunk into soc-2011-tomato 2012-06-08 18:25:01 +00:00
Lukas Toenne
5e1bbde01d Particle Info node for Cycles. This can be used to access particle information in material shaders for dupli objects. For now only the particle Age and individual Lifetime (in frames) are supported, more attributes can be added when needed.
The particle data is stored in a separate texture if any of the dupli objects uses particle info nodes in shaders. To map dupli objects onto particles the store an additional particle_index value, which is different from the simple dupli object index (only visible particles, also works for particle dupli groups mode).

Some simple use cases on the code.blender.org blog:
http://code.blender.org/index.php/2012/05/particle-info-node/
2012-06-08 16:17:57 +00:00
26f9fe3962 Merging r47581 through r47603 from trunk into soc-2011-tomato 2012-06-08 09:36:17 +00:00
de7fe937ff * Added OpenCL kernel for bokeh blur
* Uncomment COM_OPENCL_ENABLED from COM_defines.h to test
2012-06-08 09:17:07 +00:00
bdf9e02346 new sequence strip type for masks. 2012-06-07 18:24:36 +00:00
286c5915b3 Merging r47507 through r47534 from trunk into soc-2011-tomato 2012-06-06 19:11:06 +00:00
1931aac1f7 style cleanup: (indentation) 2012-06-06 14:48:39 +00:00
870ba8aa13 svn merge ^/trunk/blender -r47423:47506 2012-06-06 10:25:59 +00:00
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
4e338e894f Cycles: support for image sequences in image/environment texture node. 2012-06-04 19:38:33 +00:00
68a9dd54ec mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and myself.
see:
http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor


note - mask editing tools need continued development, feather option is not working 100%
2012-06-04 16:42:58 +00:00
489fa2d108 remaining mask files from tomato. these wont get svn history carried over. 2012-06-04 15:49:58 +00:00
4413024cdc svn merge ^/trunk/blender -r47325:47381 2012-06-03 18:25:57 +00:00
64039bdf44 Fixing most (if not all) remaining issues with nodes UI i18n.
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-06-02 19:58:12 +00:00
341a99189e Ignore track's disabled channels when requesting for pattern used in keying screen node 2012-06-01 14:42:55 +00:00
c9aa6cf80d Merging r47307 through r47325 from trunk into soc-2011-tomato 2012-06-01 14:08:18 +00:00
719b3e26e7 Added NULL-pointer check to avoid crash in node editor. Fixes #31664 2012-06-01 13:42:18 +00:00
Lukas Toenne
17935168c0 Reroute nodes, by Jeroen Bakker (patch #28443).
By holding shift and "cutting" a node link a new reroute helper node can be inserted. This consists of a single socket that can be used to insert additional connection points into a link. This can be used to keep a connection point in the tree when  deleting a node, or to control the path of long connections for layout cleanup.
2012-06-01 12:38:03 +00:00
7d04e4c53e svn merge ^/trunk/blender -r47150:47184 2012-05-29 15:02:21 +00:00
ec4f675055 Fixed stupid typo: dispill vs. despill 2012-05-29 14:55:01 +00:00
876665ac25 Initial commit of new keying nodes
First node is called Keying Screen (Add -> Matte -> Keying Screen) and it's
aimed to resolve issues with gradients on green screens by producing image
with gradient which is later used as an input for screen color in keying nodes.

This node gets motion tracks from given movie clip and trackign object and uses
them to define color and position of points of gradient: for position marker's
position on current frame is sued, for color average color of pattern area is
used.

Gradient is calculating in the following way:
- On first step voronoi diagram is creating for given tracks.
- On second step triangulation of this diagram happens by connecting sites
  to edges which defines area this site belongs to.
- On third step gradient filling of this triangles happens. One of triangle
  vertices is colored with average track color, two rest vertoces are colored
  with average color between two neighbor sites. Current pixel's color in
  triangle is calculating as linear combination of vertices colors and
  barycentric coordinates of this pixel.

This node is implemented for both tile and legacy compositor systems.

Second node is basically a combination of several existing nodes to make keying
more straighforward and reduce spagetti mess in the compositor, but it also
ships some fresh approaches calculating matte which seems to be working better
for not actually green screens.

This node supports:
- Chroma preblur
- Dispilling
- Clip white/black
- Dilate/Erode
- Matte post blur

This node doesn't support chroma pre-blur for legacy compositor (yet).

There're still lots of stuff to be improved here, but this nodes night already
be used i think.

Some details might be found on this wiki page:
http://wiki.blender.org/index.php/User:Nazg-gul/Keying

This patch also contains some currently unused code from color math module, but
it was used for tests and might be used for tests in the future. Think it's ok
to have it in branch at least.
2012-05-29 14:00:47 +00:00
e530b50d17 Fix #31596: wrong soft limits for light falloff node. 2012-05-29 10:34:10 +00:00
16117143d8 Massive Code cleanup:
* Remove all code for Texture and Sequencer plugin system, this never worked in 2.5x / 2.6x and is therefore not needed anymore.

* DNA structures are kept, all read/writefile code is gone.
2012-05-29 10:21:07 +00:00
d8d3a6455f remove pynodes, were not working in 2.5, not ported to py3.x 2012-05-29 09:37:23 +00:00
daa8fe9145 svn merge ^/trunk/blender -r47070:47099 2012-05-28 04:48:42 +00:00
032d83ecc4 style cleanup: defines with braces 2012-05-27 20:13:59 +00:00
b33f0ef0e3 style cleanup 2012-05-27 19:40:36 +00:00
e9fe7e7ff7 svn merge ^/trunk/blender -r47067:47070 2012-05-27 12:23:20 +00:00
2ab62ce126 code cleanup: defines with braces - end with '(void)0' so callers must end with ';' like normal function.
... without this some editors dont parse the source so well.
2012-05-27 12:21:13 +00:00
3305674bb5 Port mask node to new compositor system
Works in the same way as double edge node -- not actually multithreaded
but currently it's fast enough to be used in such way. In the future it
might be changed in some way.

Move actual mask rasterization code to BKE so it's resued by old compositor
system and new compositor. Also in the future it might be used to display
mask preview in mask editor.
2012-05-24 14:01:00 +00:00
14a56caee6 Merging r46725 through r46963 from trunk into soc-2011-tomato 2012-05-24 09:47:29 +00:00
a4257c8880 * Stopped flickering of preview images
* Solved crash when first input socket of brightness node is not
connected
2012-05-23 10:31:16 +00:00
dab1d8e487 style cleanup 2012-05-22 22:03:41 +00:00
Lukas Toenne
53b01d9002 A number of new features for the node editor in general and the Frame node in particular.
For an detailed user-level description of new features see the following blogpost:

http://code.blender.org/index.php/2012/05/node-editing-tweaks/

TL;DR:
* Frame node gets more usable bounding-box behavior
* Node resizing has helpful mouse cursor indicators and works on all borders
* Node selection/active colors are themeable independently
* Customizable background colors for nodes (useful for frames visual
distinction).
2012-05-22 14:13:33 +00:00
b951c2be7f fix for
[#31502] Defocus max radius help tekst
2012-05-21 20:36:02 +00:00
cd002016e9 Fix for
[#31408] Code review testing: Button labels are invisible in many nodes
2012-05-21 19:58:23 +00:00