Blender Git Commits

Blender Git "strand_nodes" branch commits.

Page: 19 / 37

December 23, 2015, 13:38 (GMT)
Generalization of the dynamic socket list feature, currently used by mesh-combine.
December 23, 2015, 13:37 (GMT)
Use default node input value for constants.
December 23, 2015, 12:18 (GMT)
BVM node for combining dupli lists.
December 23, 2015, 12:00 (GMT)
Extended notifiers from node value editing to include instancing trees.

The use of notifiers from node trees is very unsatisfactory atm.
Notifiers should be integrated into the depsgraph, so that changes
to data automatically trigger appropriate UI redrawing.
December 23, 2015, 11:46 (GMT)
Implementation of the "make dupli" node to generate a single dupli object.
December 23, 2015, 11:24 (GMT)
Use a std::vector for storing Dupli instances in bvm for efficiency.
December 22, 2015, 13:30 (GMT)
Return duplis from a bvm node evaluation, just like DerivedMesh.
December 22, 2015, 12:55 (GMT)
Fix for default values of array types.

Now an array can be passed directly to the add_input functions to
construct an ArrayValue.
December 22, 2015, 12:30 (GMT)
New opaque type 'DUPLIS' for storing a dupli list.

This works just like the MESH type, but wraps a ListBase instead of
a DerivedMesh. Using this type the duplis can be generated internally
and returned as a result.

All such data types should be handled in a generalized way eventually.
December 22, 2015, 11:40 (GMT)
Correct types for array 'pass' nodes.
December 22, 2015, 11:02 (GMT)
Reordered data types a bit, so mesh and other complex types are at the end.
December 22, 2015, 10:07 (GMT)
Array types for node sockets.

These are an extension of the type description to support contiguous
arrays of base values. They effectively form a second set of types,
mirroring the 'single' base types. Socket connections will have to
strictly match between these types as well, i.e. any dereferencing and
array access will have to be explicit.
December 22, 2015, 10:07 (GMT)
PASS nodes for array types.
December 21, 2015, 11:09 (GMT)
Sqrt math node mode, patch by lichtwerk.
December 20, 2015, 10:42 (GMT)
Removed unused function declaration.
December 20, 2015, 09:07 (GMT)
New dupli mode for use of BVM node trees to generate duplis.

Not yet functional, as it doesn't have opcodes yet.
December 18, 2015, 15:27 (GMT)
Object pointer should not be needed for constructing modifier node functions.
December 18, 2015, 12:31 (GMT)
Merge branch 'master' into object_nodes
December 16, 2015, 12:43 (GMT)
Use the bvm function cache for modifier nodes, to avoid recompiling all the time.
December 16, 2015, 12:25 (GMT)
Separation of dependencies of node trees and their users for compiling vs. evaluation.

So far any change in a node tree would cause both a recompile of bvm functions
as well as a re-evaluation of any users of that function. This is quite inefficient
and should be separated to allow caching of the bvm functions independent from
their users.

To this end the nodes now have 2 callbacks: one for getting compile deps, the other
for getting eval deps.
* Compile dependencies are typically other node trees (node groups). In the future
this could also be Text datablocks, similar to how OSL script nodes work.
* Eval dependencies are all the blend_data blocks that a function might access.
For modifier nodes these could typically be meshes, curves; for shaders could
be images, textures; and so forth.

Separating these dependencies means the bvm functions will have to be recompiled
only when the actual bNodes change (add/remove, linking, socket values).
Conversely when some modifier input data changes (editing, cfra) the modifier
function will be re-evaluated.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021