December 4, 2015, 12:35 (GMT) |
Better implementation of socket updates for list-style node. The previous implementation was based on recreating links and did not work very well when reordering connections, because the insert_link callback does not allow changing the link target. |
December 4, 2015, 10:39 (GMT) |
List behavior for the mesh-combine node. This is primarily a python implementation for UI convenience. It makes the list of input sockets behave dynamically for typical list operations: * adding an element at the end * inserting an element * removing an element Each of these keeps the list compact and shifts remaining sockets, so users don't have to move each individual connection every time. Internally it still uses the simple binary combine operation, adding as many nodes as necessary. |
December 4, 2015, 09:26 (GMT) |
Merge branch 'master' into object_nodes |
December 4, 2015, 08:20 (GMT) |
Merge branch 'master' into object_nodes |
December 3, 2015, 14:33 (GMT) |
Disable explicit update calls _while_ the modal node link operator is running. These update calls can have bad consequences such as removing node sockets, which should not happen until after the operator is finished. This was already questionable in the past. At some point all update handling for nodes should go through the depsgraph rather than the current fragile update flag/callback system. |
December 3, 2015, 12:04 (GMT) |
Merge branch 'master' into object_nodes |
December 2, 2015, 16:41 (GMT) |
Simple node for concatenating 2 meshes into one. |
December 2, 2015, 16:40 (GMT) |
Ignore nodes that don't have the 'compile' method, to allow frames. |
December 2, 2015, 12:05 (GMT) |
Added back automatic type conversion. Now automatic type conversion for sockets happens in the python code. |
December 2, 2015, 11:04 (GMT) |
Fix for refcounting in the mesh value node. This node was overwriting the entire stack pointer (incl. the refcount) but should only store the DM itself. |
December 2, 2015, 10:48 (GMT) |
Make sure invalid node connections are rejected at the basic level. The internal bvm nodes require strict type matching. Any implicit automatic type conversions should be added on the level of DNA->bvm conversion. This keeps the bvm nodes simple, and also allows for semantics on the DNA node level that could not be properly implemented in bvm. |
December 2, 2015, 10:29 (GMT) |
Improved python API for constructing the internal node graph. Socket connections can now be handled consistently through single py objects, so the compilation code becomes more concise and readable. |
December 2, 2015, 10:28 (GMT) |
Fix for dangling root sockets when skipping 'pass' nodes. This can happen when proxies are created, and should always create a 'value' node to act as a clean root terminator. |
December 1, 2015, 17:16 (GMT) |
Improved RNA API for bvm node graphs. Now there are actual collections of inputs/outputs to perform proper checks on valid names/indices and types. |
December 1, 2015, 10:04 (GMT) |
Sanity check for array count <= 0, otherwise CDDM keeps spewing warnings about empty mesh. |
December 1, 2015, 08:52 (GMT) |
Added an "Iteration" node as a general-purpose input for expressions. This is used by the Array modifier node to give a meaningful per-instance input to calculate a transform from. |
December 1, 2015, 07:52 (GMT) |
Use the jump address in the array modifier to evaluate a transform function per copy. |
November 30, 2015, 15:16 (GMT) |
Codegen: for function inputs store the entry point in the instructions. |
November 28, 2015, 16:07 (GMT) |
Generate instructions for a subgraph in a separate codegen function. This will be useful for separately generating kernel functions, which are to be stored as own code blocks so kernels can call them repeatedly as needed. |
November 26, 2015, 13:12 (GMT) |
Fix for API changes in pynodes. |
|