Hi Martin, Sounds really good and needed as reality showed that being GPL is not enough to make adding functionality easy. Looks also like all devs loose to much time reviewing, so c/c++ plugins are a really good solution to avoid so many modifiers die in the patch tracker or be limited to some custom builds like in past year. I hope you get some help to make it a reality!
Regards, Mat Am 01/11/2015 um 16:11 schrieb Martin Felke: > Hi, today i was thinking a bit about possible approaches on how to > add a C / C++ Plugin system to blender. > This is a short (a bit unsorted) list of my thoughts and might serve as > discussion start point perhaps. > > Blender Plugin System > --------------------- > > - Idea: Have a modularized approach, add C/C++ to core without > modifying it later > - track presence of modules and status (OK, Not Functional, Changed) > - store Plugin Data separately from Blend (e.g. FM simulation / > shard data), so core can start with basic blend only if plugin is > absent can try to load plugin while loading data > > - dynamic compilation of module sources via Python / CFFI or LLVM, > as in OSL Nodes > - access core api thru bpy or directly thru RNA or even DNA > - source distribution of plugins is C / C++ + some py Wrapper > for autocompile or binary distribution in case no compiler is present > - plugins have certain structure and versions for all OS; > Hash, Version, source, binaries > - should be installable and activatable like addons > > - pack CFFI and distutils to python distro of blender > - windows fix: declspec, symbol export so linking will work > > - plugin development addon: provide DNA / RNA headers > (and C sources or precompiled stuff) + project generators > for standard IDEs, to give a starting point for plugin devs > > - core support: - Plugin Management system which handles plugins > - modify ID and Non-ID base structures to include > info about plugin origin > - save,load data per plugin / chunked > (and bundle differently together) > - plugin crash handler > (so not the entire core goes down with a > failing plugin) > > - plugins should expose py api too, so addons can build upon them too > - plugin repos and updating / automatic compilation system > (after update) ? > > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
