Blender dedicated OSArch branch ?

edited January 2022 in General

May a dedicated branch of blender under official blender's fundation "umbrella" be an option for osarch initiative ?

We are all building solutions together where a potential better integration may solve some perf / ux issues so i feel a blender's branch could still benefit of official blender's fundation buildbot facilities, while allowing further dedicated dev and may be the right answer for our projects.

I would avoid a fork (unless someone can handle multiple platform building issues through automatic build infrastructure), as i feel it does not worth the overhead and lack of visibility - mechanical blender failed to do so.

JesusbillDADA_universetheoryshawReD_CoDE
«1

Comments

  • That would be awesome! But who would have the skills to work on this?

    nikitron
  • Andrew allready is experimented in c integration and personalized ux. I think the most tricky part will be negotiations with the BF (Ton) to be allowed to create / maintain a branch beside "officials" ones and a way to build using infrastructure.

  • edited September 2020

    No idea how much you guys need to share a hacked Blender, but on the automated builds front, one option may be using Travis CI?
    Other things I have used:

    • Github web callback triggers a build process on a dedicated machine.
    • Dedicated machine pulls git state then builds regularly (eg. nightly)

    Are you having difficulties getting OSArch related feature changes in to mainline Blender?
    Feels like the best thing about Blender is everyone can use it and benefits from its fast evolving codebase. It would be a shame to break that with a non-compatible fork or a development build that the community would not be able to access as quickly and easily as developers.

    JQL
  • I think globalcitizen has a good point. Regarding automating addon builds, perhaps it would help having a wiki section describing how to build a complete ci pipeline (including addon self updating) for blender packages (alternatively just point to good sources if they are already documented elsewhere)? And tied together with that wiki entry it would probably help having a github repo with a demo addon-project (set up with a complete ci pipeline) and templates for others to base their projects on or copy into existing projects.

    There are a lot of options regarding the actual ci integration, but maybe some of the pros and cons of the different options could be highlighted in that wiki entry. Personally I use Azure Devops for most of my ci use-cases , but I guess github actions would probably be a better option for open source projects. I can contribute to parts of such a wiki entry and github repo, if anyone would be interested.

  • The way blender repos are managed make it somewhat "difficult" (not so easy) to handle, mix of pre-compiled multi-platform libs in svn ( ~1 gb) updated on need and main sources in git.
    This is the main reason for me to take a look at a dedicated git branch only right on blender.org infrastructure, the same way than other bf projects - and by doing so sharing efforts to maintain build infrastructure and latest available code.

    nikitron
  • Trying to think of it from the Blender Foundation's perspective, why would this be of interest to them? Especially if they see OSArch's use case as a niche use case, which it probably currently is compared to their primary market / interest?

    As far as forks go, https://bforartists.de/ seems to be holding its own, I guess largely because its main developer is very passionate about what he's doing and is able to build an ecosystem around it. UPBGE seems to be in the same category. Other forks however have not been so lucky. It's tempting to think of how much power could be gained from maintaining a dedicated OSArch fork of Blender, but with great power comes great responsibility.

    nikitron
  • @DADA_universe said:
    Trying to think of it from the Blender Foundation's perspective, why would this be of interest to them? Especially if they see OSArch's use case as a niche use case, which it probably currently is compared to their primary market / interest?

    The gap between "arts" is closing. Architecture is a bridge from the artistic focus of blender to a technical world that also sees potential for Blender.

    Blender isn't exactly CAD, just because of details.

    I struggle to see why it would hurt to have a branch dedicated to AEC if they are not the ones doing the work. It's not like BlenderBIM would steal resources from blender development or trying to shift it's development focus, it's more that it's taking advantage of already existing resources and using it for something parallel too.

    Or am I wrong?

    nikitron
  • @DADA_universe said:
    As far as forks go, https://bforartists.de/ seems to be holding its own, I guess largely because its main developer is very passionate about what he's doing and is able to build an ecosystem around it.

    Waaaa!!! I didn't know this one...!

  • @stephen_l would be awesome if we can have a separate branch of Blender and see how can we improve some part of it?
    For instance, it would be really worthful if we can expand Blender's geometric kernel to support Solid and NURBS, SubD, ...
    And I think Ton will accept, because other companies, especially Epic Games, have started to improve their geometric kernels and their kernels become so close to engineering kernels

    DADA_universe
  • Expanding geometric kernel is only a sweet dream and will require huge ressources unless we do adopt other frameworks and even so, building strong ui for such feature is pretty challenging (occ for nurbs and so on - for license reasons), there are many other more important things to do in the meantime, like db optimization so it does support a much larger number of entity wich realy is an issue at this time.

    Another thing Andrew allready tackle very well is simplified / focused ui / workspaces, specific targeted set of addons, custom drag & drop asset manager and so on, so i guess this will be a pretty good way to start. I can only imagine what performance boost may sverchok (sorry for typos if any) get from "everything nodes" like c(++?) implementation.

    nikitronduncan
  • JQLJQL
    edited September 2020

    I think that the closer integrated to blender the better. Blender sees a lot of evolution that architects benefit from and if this branch makes BlenderBIM better integrated into Boender's evolution then great.

    Nurbs are great for very specific tasks but I cannot imagine them as mandatory for any tasks but the most specialized, and that's usually outside of scope for AEC.

    If that kernel is such a need for architecture then it should help other disciplines too. Blender, as a whole, should benefit from it.

    So, wouldn't developing a kernel like that, limit development on other higher priority stuff and add a degree of complexity to the development of BlenderBIM that might be more trouble than it's worth?

    brunopostle
  • @stephen_l I think @Andyrexic has developed a great asset manager (like PyClone https://github.com/CreativeDesigner3D/PyClone or new ones), just needs to change its license (which currently is GPL3)
    I agree with DB improvement
    And if Blender can't expand its kernel, we will find some other ones to develop our solutions (I have one or two in mind)

  • but is there a real need for such branch? code that can't be merged into blender? or any other code that needs to be tested? otherwise what would be the purpose?
    maybe what could be cool too is something like a ppa orsany other kind of repo that would contain all the latest osarch software, ready to mass-install ;)

    bitacovirJQLJanFnikitron
  • edited September 2020

    Andrew's asset manager is a custom branch as it does rely on blender's c side, also simplified (more focused) ui require such branch to get the rid of not so usefull things out of the box.
    Svershok c(++) nodes integration and high performance projects also may require such branch.
    Visibility (lack of) of a custom ppa / osx / windows custom disto is probably the worst issue to handle.

  • @yorik said:
    but is there a real need for such branch? code that can't be merged into blender? or any other code that needs to be tested? otherwise what would be the purpose?
    maybe what could be cool too is something like a ppa orsany other kind of repo that would contain all the latest osarch software, ready to mass-install ;)

    My thoughts exactly. An osarch package manager for blender would be awesome, branching is way too ambitious and unnecessary right now in my opinion.

    duncan
  • Speaking of branch @stephen_l did you manage to get any time to spend on building a "bundle installer" add-on? e.g. an add-on which then installs other useful add-ons?

  • No real opportunity to spend sufficient time until next year for any serious dev, i'll be travelling between wi-fi hot spots until then.

    Moult
  • I wonder how much can be done with a custom workspace? Can plugins add and manage workspaces?

  • Guys, it is all fascinating and attractive.
    Q: How to maintain centralized changes in everything nodes?
    Blender Institute has own vision of development. Interruptions have strongly fit/synchronized all modifier/shortcuts/interface/menus/screens/openGL/UX/nodification paradigms of Blender.
    Remember Andrew Price proposals for UI? There was many dialogues. And me personally not ready for such massive conversations/organizations. May bee some handle...

  • Sorry i'm late to the conversation. I didn't have my email notifications setup. I would recommend creating an 'AEC' Application Template for Blender that contains all of the add-ons that simplify and streamline the architectural workflow. Currently, PyClone is a custom build of Blender because of the lack of the asset manager and drag and drop. This will likely be available in Blender in 2.92, so when the asset manger is available I will migrate PyClone to work with the default version of Blender and create an application template that has a simplified UI and all of the add-ons needed for an 'AEC' workflow.

    brunopostleJanFDarth_BlenderCyrilbasweinJesusbillMoultbitacovirReD_CoDECGRand 2 others.
  • @Andyrexic great idea! If @stephen_l is busy, perhaps you can step up to the role of attempting to create an AEC application template? Part of this would allow an easy installation of a series of complementary add-ons so that users have the functions they need out of the box.

    CGR
  • @Moult said:
    @Andyrexic great idea! If @stephen_l is busy, perhaps you can step up to the role of attempting to create an AEC application template? Part of this would allow an easy installation of a series of complementary add-ons so that users have the functions they need out of the box.

    Yeah I would be happy to take this on. I have some ideas on how this would work, but I would like to tie it in to the official asset manager that Blender will release. I have been staying caught up with the development, and it looks like it will be available in 2.92 so as long as the progress continues I should have an application template that includes all of the tools needed for the 2.92 release. I'll keep you all updated with my progress.

    MoultbasweinJesusbillCGRDADA_universe
  • https://devtalk.blender.org/t/lazy-addon-registration/15541
    Blender starts really slower with Sverchok. Monster among addons.

    CGRJesusbillMoult
  • I have a bunch of add-on enabled and Blender starts really fast for me on Windows. Much faster than any AutoDesk or Adobe Applications... Also, that image will haunt my dreams for eternity ;)

    nikitronCGR
  • @nikitron If I'm wrong, please educate me, but I think Python is good for "prototyping" not final production, this is why all Blender nodes at the end parse to C or C++

    I think one of the current obstacles here is that we have few friends who know C and C++, and even other things like JS/TS or even SQL/SQLite, ...

  • edited October 2020

    @ReD_CoDE said:
    @nikitron If I'm wrong, please educate me, but I think Python is good for "prototyping" not final production, this is why all Blender nodes at the end parse to C or C++

    I think one of the current obstacles here is that we have few friends who know C and C++, and even other things like JS/TS or even SQL/SQLite, ...

    There are two ways:
    1.Rewrite Sverchok on C#+- with much more freedom and more work.
    2.Wait for Everithing Nodes and embed all we have done there as module, utilize basic nodes of EN. With less efforts.

    1 is more realistic, but who knows

  • I don't know why I dislike C#, I think C# is good just for windows and those who like .Net
    C++ is better I think, especially when "even web-based solutions" are based on C++ and then JS/TS

    nikitron
  • Animation Nodes use the "middle path" approach, with cPython and ship compiled versions for every platform.

    ReD_CoDE
  • Exactly, I think this can be used for Sverchok too

  • I recommend this talk : Anthony Shaw - Why is Python slow?. Very interesting to see because python is not slow for everything and it also talks about ways to improve performances in python (current and future).

Sign In or Register to comment.