[Bf-committers] blender as ui for game engine

Owen Hogarth II gurenchan at gmail.com
Sat Jan 23 10:13:55 CET 2016


Guys I am not going to bring this to some secret discussion, I posted it on
the public list so that everyone who does have an opinion could chime in.

I am coming at this from a slightly different point of view. Blender is
great at doing what it does, which is a modeling tool. I do not want to
change that or change the way the api is structured.

I also do not want to fork the project and go through all that mess. What I
want is something that allows blender to be used to model a scene and
pressing a button and instead of launching BGE or the renderer blender
sends that data to an external application that can interpret that data
however that application developer chooses.

You could do a lot of this today by writing python modules but that is
really inefficient for the purposes that I am thinking about, python is
just a middleman that allows scripters to write great scripts but I'm not
talking about scripts here.

like was mentioned here and mentioned to me before, clean up the core
blender c code. Relatively speaking it's not very large. That means
untangling the DNA/RNA source code:
http://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/RNA

so that it can be static or shared library.

That's only a few sentence but the work involved will take some time bu not
years. Once that's sorted out, the cmake build system could also be
refactored and simplified as well.

Once we have those core modules refactored out and organized, instead of
writing python scripts we could have those libraries do amazing things with
other third party applications.

For instance, would you as an application developer want to write something
like blender's animation system from scratch? With the timeline features,
keyframing...? Most likely not.

When the code has been refactored, you could just use the same code blender
does to do your own timeline editing or simplify it by having blender
export the animation data in a more compact format that your application
can use in real time.

If your application uses a material system blender could export a materials
file for each model in the scene, that materials file could be loaded by
your application and configure an opengl shader, render pass, render
technique and render state.

That means you design your application in blender press preview and it's
running real time.

It's a very clear design goal, my only concern is does blender do build
testing on all target platforms with something like traviscli, jenkins or
the likes? Anyone on this list can answer that question.

Best,
Owen

On Sat, Jan 23, 2016 at 8:31 AM, Campbell Barton <ideasman42 at gmail.com>
wrote:

> On Sat, Jan 23, 2016 at 5:49 AM, hewi jupama <hewi at jupama.org> wrote:
> > How I love this discussion, you (may) know me.
> >
> > Allow me to again write you too many lines for people not to have time
> to read ;)
> >
> >>> What part of Blender's C core is neglected exactly?
> >
> > How funny you are asking.  have you ever looked at the creator.c file,
> the first and most basic file from blender, where it all starts:
> >
> >         if (G.background) {
> >                 /* actually incorrect, but works for now (ton) */
> >                 WM_exit(C);
> >         }
> >
> > auch, that is when I say +1 for me.  And literally, this is just the
> start!  The blender C core code is riddled with these comments and hacks
> and it needs lots and lots of refactoring.  If you don't agree or see that,
> mmmh ... ? (don't know how to put that nicely so I wont put anything :)
> >
>
> Right, isn't great  - Blender can run headless but still has a
> window-manager, and its API is still used.
> On face value its stupid, but also relatively harmless.
>
> You can view this as "glass half empty/full" ... you can point to
> areas which need refactoring, as well as areas that have been
> refactored recently.
>
> Generally areas which are causing real confusion or bugs get priority.
> It's less likely we go in and make changes when code works well and
> isn't causing hassles (though refactoring for clarity/correctness
> happens too).
>
> >>> However the purpose of the "Blender" project is to:
> >>> "build a free and open source complete 3D creation pipeline for
> >>> artists and small teams."
> >
> > You are however absolutely right, the blender foundation wants to
> provide "a tool for ... " It is very important and a real privilege to see
> blender is sticking to these goals.  Many projects fail because they divert
> from their initial goal!
> >
> > We are discussing the preparation of the blender source code for 2020,
> to make it extendable and easily maintainable. To make it stick to the
> current conventions and guidelines on coding and project management (e.g.
> the ubiquitous right hand rule of XYZ Axis as a main source of sadness
> every time I open blender).   This, apparently, has nothing to do with
> current blender vision nor it's goals.  I see that now (I was involved very
> closely in the Blender Plugin System (BPS) discussion).
> >
> >>> we're not looking to prevent you from trying this.
> >
> > But you're not providing much of support either.  I was actually
> prohibited by Mr Roosendaal himself to discuss the BPS system on the
> developer irc channel "as it is not a supported project from the blender
> foundation".  Well, that makes me very sad.
> >
>
> I don't know the context of your discussion with Ton, but I assume
> this would be in one of our meetings, since we're quite relaxed about
> developer topics other times.
>
> I'm not sure what you mean by *support* here.
>
> Experimental projects from active committers don't receive any special
> support either.
>
> If by *support* you mean getting Blender developers to write code for
> you to implement a plugin system - then this is a different matter
> which Ton already covered.
>
> >>> But *expecting* this will be accepted into master isn't reasonable
> >
> > Exactly wright and 100% correct yet again.  During Blender conference
> 2015, the question was raised why blender did not support these ideas or
> projects, Mr Roosendaals' reply was: "if you want that, you will just have
> to create your own community" (I am paraphrasing here, but it is
> essentially what he said)
> >
> > So basically, any discussion to refactor blender's source should be
> taken offline or elsewhere online, until the dev's and Ton see the benefit
> and are convinced of the relevance.
> >
>
> No - we can discuss refactoring of course,
> but the purpose of refactoring matters when it comes to following
> through and making the changes.
>
> If you're asking active developers to spend time on refactoring for
> the primary purpose of preparing for a project which isn't likely to
> be accepted in master.
> This is quite different from the refactoring we already do (though
> there would be some overlap).
>
> >> 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.
> >
> > I had this idea already somewhere Dec 2013.  My idea was to create a BUI
> (blender user interface) and extend that using a plugin system.
> >
> >
> http://wiki.blender.org/index.php/Dev:Ref/Proposals/UI/BUI_BlenderUserInterface
> >
> >
> http://blenderartists.org/forum/showthread.php?319727-BUI-BlenderUserInterface&p=2528068&viewfull=1#post2528068
> >
> > My intention to achieve this is still not just luke warm but boiling
> hot.  Despite all the ice cubes that were thrown in my path.  I have source
> code ready to be reviewed.  I just need a place to drop it and we can start
> developing.
> >
>
> Hosting your own projects has never been easier.
>
> Why didn't you use one of the many options already available?
>
> > If you look through the spaghetti source code and all it's circular
> dependencies, you will find the source is not that hard at all.  It of
> course needs time and a good initial set-up.
> >
> > throw me a private line "hewi at jupama.org" to discuss future evolution
> of this idea.  Discussing it here will only cool you down.
> >
> > KR, hewi
> >
> > ps: Again i have though hard and long and over and over and doubted and
> re-read and re-phrased before I pushed the send button.  But, freedom of
> speech in mind, I finally did.
> > _______________________________________________
> > 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
>


More information about the Bf-committers mailing list