November 25, 2015, 10:27 (GMT) |
Added an 'entry point' instruction number to functions. This is currently always 0, but will be used in the future to allow storing per-element functions along with the main code. These can then be called within kernels. |
November 25, 2015, 10:12 (GMT) |
Enabled generic math nodes for modifier node trees. |
November 25, 2015, 09:51 (GMT) |
Fix for static empty mesh variable, used as default value of meshes on the stack. This creates a (minor) mem leak when statically creating the mesh. Instead it should be constructed in a init/free pair of functions. Because this variable is used in all different compile units, each of them has to create their own global 'empty_mesh' variable. |
November 25, 2015, 09:01 (GMT) |
Fixed missing delete call for unused nodes. |
November 25, 2015, 08:58 (GMT) |
Free the modifier bvm function after use. Note that eventually these should be cached to avoid unnecessary recompilation, but for now they get compiled on every modifier eval. |
November 25, 2015, 08:53 (GMT) |
Use the guardedalloc new/delete overloads for relevant classes. |
November 25, 2015, 08:29 (GMT) |
Fixed overzealous assert for input stack assignments in codegen. For constant inputs no stack index is needed. Previous to node pruning this did not trigger the assert because there were still pass nodes allocating the stack indices. |
November 25, 2015, 08:28 (GMT) |
Node tree pruning function for removing unused nodes. This also removes the placeholder 'pass' nodes, which were already being skipped and made unused. |
November 25, 2015, 08:09 (GMT) |
Changed node instance storage in the node graph to pointers. This makes it much easier to optimize the graph by removing and reconnecting nodes. |
November 24, 2015, 08:40 (GMT) |
Merge branch 'master' into object_nodes Conflicts: source/blender/blenkernel/intern/softbody.c |
November 23, 2015, 11:50 (GMT) |
Use the base mesh as a fallback result in case no geometry nodes exist. |
November 23, 2015, 11:29 (GMT) |
Fix for store/load of mesh_ptr on the stack. Most actual mesh operations should only store the data pointer itself but not modify the refcount. |
November 23, 2015, 10:42 (GMT) |
Fix for wrong index in codegen. Was using the socket instance map sizes rather than the overall number of sockets of the node type. |
November 23, 2015, 10:07 (GMT) |
Added a matrix compose/decompose node for loc/rot/scale. |
November 23, 2015, 09:14 (GMT) |
Horrible fix for depsgraph/notifier updates through property changes in geometry nodes. This is really awful, but we don't have a good generic way of defining node tree relations in the dependency graph yet. More importantly, the notifier system is not up to the task - putting the responsibility for notifying into operators requires anticipating their effects, which is not good at all for node operators which affect geometry through complex processing. The depsgraph really should be handling this. |
November 22, 2015, 14:24 (GMT) |
Implementation of a simple 'Array' modifier node. |
November 22, 2015, 10:18 (GMT) |
Fix for invalid comparison operator of SocketPair. |
November 22, 2015, 09:05 (GMT) |
Notifier from node changes to redraw the viewport when geometry nodes are updated. This is a hack! The nodes are defined in python and the notifier is currently triggered far to broadly, but currently there is no nicer way of doing it. |
November 22, 2015, 09:03 (GMT) |
Extension of the new dependency graph relations to support object nodes. This generally triggers a mesh data recalc when *anything* inside the object node tree is changed. Eventually it should be more specific to changes in a geometry node tree, but the current design of deps nodes does not reflect such internal node semantics nicely (although new depsgraph will allow us to do it properly in the future). |
November 21, 2015, 16:20 (GMT) |
Revert "Fix for unfreed memory of the default empty mesh." This reverts commit 0ab9e4848d68ade3903c25cfea12ea982aefc2ae. |
|