From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

TODO

Simple unsorted laundry list of stuff that needs to be done.

  • Implement link compatibility check for unconvertible types
  • Particle outputs can only be linked to a single input socket. Possibly allow multiple inputs as well (fully invert behavior) with automatic merging.
  • Add quick shortcut button in physics buttons panel to create modifier
  • Two possible ways to enable particle initialization:
  1. Add INIT flag attribute. Then add 'activation' setting to modifier nodes (either all of them or just SetAttribute node), so those are only applied to new particles
  2. Make generic "branch priority" feature: subset of the main output goes into separate branch (all newly emitted in this case), which must be completed before main line continues.
Particle Initialization is generally done in a sub-tree of the emission node. Emitters are basically group nodes with some special nodes for creating new particles and no other particle input. If necessary an additional INIT flag can be added to allow delayed access to initialization info.
  • Particle partitions should be implemented with a block allocation scheme (paged buffer) to avoid memory fragmentation and enable faster allocation. Memory pooling also possible.
  • Implement memory pooling for paged buffers for particles.
  • Data partitions should be allocated and freed by memory manager, no suicide freeing ("delete this")