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.
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/
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).
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.
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.
* 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.
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.
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).
quite problematic in button layout
* Added first column with labels
* increased max size of node
* moved the start/end midtones to the bottom of the node
pass index, and a random number unique to the instance of the object.
This can be useful to give some variation to a single material assigned to
multiple instances, either manually controlled through the object index, based
on the object location, or randomized for each instance.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Object_Info
Displaying image layers with flattened names (render_layer.render_pass) can lead to extremely long socket lists, especially with older files that were used with distinct render layers before. In general the flattening of names would be preferable, but it needs a sensible way of limiting the number of displayed outputs. For now the render layer dropdown selection is the best option to ensure usability.