[Bf-committers] blender as ui for game engine

Owen Hogarth II gurenchan at gmail.com
Fri Jan 22 13:00:04 CET 2016


When I said the blender code is neglected I was referring to the low level
code but maybe that's too strong of a word. There are things there that
could use some refactoring.

As far as expecting the code to be mainlined, the process would be no
different than other blender tasks. Make the changes, make sure things
compile and doesn't break anything.

On Fri, Jan 22, 2016 at 7:28 PM, Xavier Thomas <xavier.thomas.1980 at gmail.com
> wrote:

> I you want a C++ library to read/write blender file:
> https://github.com/gamekit-developers/gamekit/tree/master/Tools/FileTools
> I can scan header (.h) files, like Blender DNA files to update the file
> definition or create your own file format.
>
>
> 2016-01-22 4:49 GMT-02:00 Campbell Barton <ideasman42 at gmail.com>:
>
> > On Fri, Jan 22, 2016 at 4:34 PM, Owen Hogarth II <gurenchan at gmail.com>
> > 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 <homac at strace.org> 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
> > >> Bf-committers at blender.org
> > >> http://lists.blender.org/mailman/listinfo/bf-committers
> > >>
> > > _______________________________________________
> > > Bf-committers mailing list
> > > Bf-committers at blender.org
> > > http://lists.blender.org/mailman/listinfo/bf-committers
> >
> >
> >
> > --
> > - Campbell
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list