Age | Commit message (Collapse) | Author |
|
in python.
|
|
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).
|
|
(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.
|
|
classmethod. This will allow the node link menu to determine feasible socket connections before an actual node instance is created.
|
|
node_add operator. The group node tree pointer is then part of the settings dictionary.
|
|
|
|
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.
|
|
parameter, instead of always using the sock->name string. This can be useful for drawing the socket values separate from the label, e.g. in the node view template.
|
|
label for connected sockets, leave this check up to the socket draw function itself. This allows future socket types to draw buttons or other info in all cases and handle connected/unconnected state more flexibly.
The drawinputfunc/drawoutputfunc callbacks in bNodeType are pretty much empty wrappers now and should be removed at some point. This per-node differentiation should rather be implemented as a specialized socket type if necessary. The only use case for this feature that remains is the file output node in compositor, which displays shortened file format info for each socket.
|
|
When adding 2 unit length vectors, the length can be used to calculate the angle.
|
|
This modifier uses a mask set in the modifier settings
and multiplies strip by it. Alpha channel will also be
multiplied by mask, which makes it easy to mask some
objects on footage and alpha-over them in sequencer.
Actually, this modifier sets alpha for byte strips
directly (since byte is always straight alpha) and
multiplies float buffer by mask (flaots are premulled)
so in both cases masked strip could be easy alpha-overed
without any artifacts.
It uses own structure with only SequenceModifierData
property in to preserve both forward and backwards
compatibilities (using new structure ensures modifier
will be ignored on load in older blenders, the same
happens for mesh modifiers actually).
Request from Pablo Vazquez.
|
|
The "component menu" template used for these socket buttons opens a popup, but this ui function does not support RNA info directly. Setting the uiBut rna pointer directly solves it.
|
|
|
|
makes the result more localized to the area around the vertex.
|
|
|
|
problem was giving light flickering on a mesh with animated hair strands.
Now strands are not used to compute this auto bias excluded from this, from
tests it does not seem to be helpful for hair and only gives issues.
|
|
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
|
|
the Bump node has a Normal input, so you can chain it after a Normal Map node.
Note that normal mapping always has to be done first because it is tied to the
particular mesh surface and tangents.
|
|
|
|
Made it so Move Shape Key ensures first key is a refkey,
so now it's possible to change basis key from the interface.
It's still needed to manually teak key's relative_key,
not sure whether there's a reliable automated way to tweak
this value when bassi key is changing.
|
|
Issue was caused by negative maximal possible text width happening
in label clipping.
Solved by clamping width to 0 if it's negative.
|
|
|
|
This is often hard to spot since in many cases it works correctly even
when not initialized but may still fail in other situations.
|
|
used elsewhere)
|
|
when the block would be immediately allocated again.
|
|
|
|
|
|
vert/edge/face/loop if there are no free functions for the customdata
layers.
|
|
(avoid doing it inline).
|
|
|
|
|
|
was renamed fairly recently but other similar iterators not negated
like this, would prefer to keep it as it was
|
|
|
|
|
|
|
|
|
|
useful for beauty filling the result of a bridge between 2 edge-loops.
|
|
line_point_factor_v3().
|
|
|
|
|
|
|
|
collision_compute_barycentric(), only place its used.
|
|
|
|
|
|
since guardedalloc confuses them.
The option cases a warning on build, since its ownly for experimental
use.
|
|
|
|
|
|
|
|
int from a key.
|
|
'conv_polys'
|