On Fri, Jan 22, 2016 at 4:34 PM, Owen Hogarth II <[email protected]> wrote: > Before learning c I was most productive with java so I can understand also > my second platform after linux is android which mainly uses java. > > How much easier would it have been to just define a JNI interface to > blender's c DNA/ RNA data structures and deal with those exclusively > instead of generating .class files from blenders source. > > All of these issues are hinting at the root issue which blender is built on > c, it's core but it's been a bit neglected and now nobody wants to go into > the basement and clean out the cobwebs. Like you I understand how hard it > will be, i've been in blender c code base. It needs some work.
What part of Blender's C core is neglected exactly? > I do believe that the best option is to turn the core of blender into a > library but to do that there's a lot of unwinding and a proper interface > that needs to be created. Something that doesn't break all that's on top, > think about it like renovating the interior of a building while the outside > stays the same. Although I really don't think it needs to take years unless > it falls into some committe where a bunch of people are arguing over what > to implement instead of just doing it. Sure it might take some time but > years, I doubt that. Turning Blender into a library can mean many different things, technically - when you build Blender as a Python module - this is a library (builds into `bpy.so` which is loaded dynamically). This is managed through some minor changes to the build and is kept as a build option for Python developers who find it handy. However the purpose of the "Blender" project is to: "build a free and open source complete 3D creation pipeline for artists and small teams." see: https://www.blender.org/about/ Its interesting to experiment using Blender as middle-ware for different tasks, we're not looking to prevent you from trying this. But *expecting* this will be accepted into master isn't reasonable either, that means we have to maintain public/private headers, deal with ABI breakages and generally having to support a new set of users (developers using the library). > That's why I sent this email out to the group to see how many people would > be willing to support me while I did this but the response seems less than > luke warm, although I might be totally wrong. As far as I can see the response just shows other developers would try solve this differently. > Best, > Owen > > On Fri, Jan 22, 2016 at 7:03 AM, homac <[email protected]> wrote: > >> Yes, I can! :D >> >> 1. I like coding. >> 2. I was looking for a library which reads .blend in Java without >> crashing, provides access to materials, animations, lighting etc. >> and has no dependencies on other libraries/game engines. >> 3. I was naive enough to think that it will be an easy task. >> But I stuck to my plan and made it work. >> >> BTW: There have been discussions on a "Blender Plugin System" earlier >> (which is basically what you want, if I read you correctly). From my >> point of view, the baseline of this discussion is, that it is a lot of >> work and has multiple side-effects and therefore takes many years. Users >> will not get aware of the whole effort spend on the plugin system until >> the first thirdparty plugins appear which have features not available >> with python scripts or just better performance. But they will see, that >> progress of other projects slows down instead. Thus, as long as there >> are no trustworthy, reliable, experienced volunteers, who take the >> responsibility to work on it in cooperation with devs of the respective >> Blender submodules, for at least a couple of years, then there will be >> no plugin system. >> >> Again, that is my personal opinion! >> >> But a less intrusive solution to this is of course a C library for >> .blend files. Because, Blender's clipboard functionality (CTRL+C/CTRL+V) >> uses a .blend file as well. I'm not familiar with RNA, but I assume it >> is possible to trigger CTRL-C from python and then run an external >> program to process the data to override objects with the results >> afterwards. That is a basically a loosely coupled plugin (even though it >> runs in its own process). >> >> There are C libraries out there (e.g. assimp, don't know how stable) but >> the best solution would be to take the original source code + a proper >> interface and just link it into a library. (I talked to someone who had >> the same idea - don't remember his name, unfortunately.) >> >> >> Regards >> Holger >> >> >> On 21/01/16 20:33, Owen Hogarth II wrote: >> > Blender is a massive code base and you've seen a lot of writing your java >> > .Blend library. I am interested in implementing it, it's more a >> refactoring >> > of the core blender c library which seems to put a lot of devs off, >> > although I do understand that code base is massive. >> > >> > I am going to do this project because I am tired of dealing with >> > proprietary and or closed source software especially as a game dev where >> > you'll be using a tool and the original devs disappear or just whatever. >> > >> > Holger in your emails to the list you made a statement to the effect that >> > you were getting off into the weeds writing that java .Blend library. Can >> > you share what was the original project that made you decide to write >> your >> > library? >> > >> > Best, >> > Owen >> > >> >> >> _______________________________________________ >> 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 -- - Campbell _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
