[Bf-committers] blender as ui for game engine

Ton Roosendaal ton at blender.org
Sat Jan 23 11:26:42 CET 2016


Hi,

Join our irc channel if you want to become a Blender developer and need help understanding parts of code. Goes more efficient. 

Log your experience and write a how-I-got-in-blender code doc.

-Ton-

--------------------------------------------------------
Ton Roosendaal  -  ton at blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



> On 23 Jan, 2016, at 11:03, Owen Hogarth II <gurenchan at gmail.com> wrote:
> 
> Ton two exit functions, what what? What does that have to do with anything?
> Are you saying that if you run blender in headless mode without a UI you
> have to call one exit function and blender with UI needs a separate exit
> function to work properly? If so why is that the case? If not can you
> clarify?
> 
> I care about code that runs, something that we be productive and useful.
> The most elegantly designed software lives on papers and in academic
> professors heads. This is the real world where resources are limited and we
> need to get things done.
> 
> Best,
> Owen
> 
> On Sat, Jan 23, 2016 at 5:53 PM, Ton Roosendaal <ton at blender.org> wrote:
> 
>> Hi,
>> 
>> For those who wonder:
>> 
>> Originally we wanted two exit() calls. The function WM_exit() is for the
>> case the UI was running.
>> In practice we found that the new WM code still handles the case of
>> exiting without UI well. Very nice!
>> 
>> Anyone who can't get over issues like this, is not fit to do any
>> development with teams. Blender is a permanent work-in-progress, and just
>> as imperfect as any large 20+ year old project where 100s of people
>> contributed to. One day someone will rename this exit() call, but
>> apparently it wasn't worth the effort yet.
>> 
>> I know there are large quantities of coders who consider "perfect" and
>> "beautiful" code to be core essential values, and most of those would never
>> be able to work with someone else's code (which is by definition not
>> perfect). For such coders plugin architectures might work well. And it's
>> another reason why I'm happy we don't have a plugin architecture.
>> 
>> Still not following?
>> Just read 'Joel on Software' articles - he can explain it much better than
>> I do.
>> 
>> -Ton-
>> 
>> --------------------------------------------------------
>> Ton Roosendaal  -  ton at blender.org   -   www.blender.org
>> Chairman Blender Foundation - Producer Blender Institute
>> Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands
>> 
>> 
>> 
>>> On 23 Jan, 2016, at 1:31, 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
>> 
>> _______________________________________________
>> 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