Advertisement

You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

First Architecture Sketches of Blender 2.50

32

eventrecode1.pngTon Roosendaal presented the first architecture sketches for the upcoming Blender 2.50 during last week's Blender Developers meeting. He talks about things such as the new Model/View/Controller model and the new event handling model, both of which will make it much easier and cleaner to write new Blender functionality. There's a *long* report on this meeting on the wiki.

Ton writes:

<ton> ok; now shoot at me!
<ton> (i will add code in svn asap, as branch so people can peek)
<ton> (unsolved is still exact roadmap, the amount of bad code in blender is HUGE :)

Sounds like there's still an insane amount of work to be done ;-). Oh, and before you ask: no, there's no planned releasedate yet!

About the Author

Avatar image for Bart Veldhuizen
Bart Veldhuizen

I have a LONG history with Blender - I wrote some of the earliest Blender tutorials, worked for Not a Number and helped run the crowdfunding campaign that open sourced Blender (the first one on the internet!). I founded BlenderNation in 2006 and have been editing it every single day since then ;-) I also run the Blender Artists forum and I'm Head of Community at Sketchfab.

32 Comments

  1. Oh. I post again because I just understood what they meant by "multi pointer input device"...

    I've read something about multi pointer X server... applications to multi-touch screens...

    °.° don't tell me Blender will support something like that already?

    Oh jeez...

    I'm getting a raging clue right now...

  2. As a programmer, I would like to state the even though MVC is very popular nowadays (well, I like it too), I urge the developers to consider other data flow styles. Sometimes a different model works better.

    Just my 2 cents - you can ignore me if you want, I've never actually looked at the Blender source code...I'm more of a web programmer :)

  3. really nice to hear some news about blender developement
    there was a long silence about that here... you didn't know that anything was going on if you did not read the developer's wiki or the mailing lists or irc
    i'd really love it if you could inform us about some of the greater steps in blender's developement :)

  4. Well, I am very happy to see that Ton and Co. are looking at the big picture and seeing how the release will benefit from streamlining the code to allow for future growth - I really do believe that when this is ready to move forward, they will be sitting on the cutting edge of 3d programming... I am so stoked, this will be awesome to see unfold as they work this stuff out. It's like when they re-engineered the combustion engine to allow for better use of fuel, or when they first collaborated to create the hybrid engine cars... too cool!!!
    Craigo

  5. At the risk of being pummeled with "it's ready when it's ready" responses, I'll hazard a release date question: would it be possible to get a developer's ballpark release estimate based on current planning, i.e., early, mid, or late 2008? I'm not asking for a commitment, only a best guess.

    I only ask for the benefit of those who might be planning video tutorials and/or written material for 2008 ( for instance, me). If we expect an early-year release, it's going to mean putting off video and written tutorial work. It would be a shame to do this if the release doesn't happen until later in the year.

    From the content of this post and the linked discussion, the Peach project, etc., I would guess later in '08. Any thoughts?

    *dons flame-proof suit*

  6. Appolos,

    "At the risk of being pummeled with "it's ready when it's ready" responses, I'll hazard a release date question: would it be possible to get a developer's ballpark release estimate based on current planning, i.e., early, mid, or late 2008? I'm not asking for a commitment, only a best guess."

    Pretty much a certainty that it will occur after the Peach Development deadline (January 15th) at the earliest; probably after conclusion of Peach (March 31st); but before Siggraph 2008 (August 11th) at the latest.

    There may be a 'technology preview' release - which is just testing builds done by all of the maintainers for doing bug reports against - but the entire release cycle and the documentation won't be done for that. That could come not long after the Peace Development deadline (if it occurs).

    LetterRip

  7. I like the "it's ready when it's ready" approach, because that ensures that when it's ready, it actually will be ;)

    I'm mostly hoping for increased stability over new features, although I always love new features.

    For anyone making tutorials, I would advise just getting the material out there first and updating later if/when necessary. Blender is always evolving, plus nothing stays 100% relevant forever.

  8. With hardware taking quantum leaps at the rate stated in Moore's Law, it only makes sense that Blender's code be fully prepared to harness all the power and resources available on a machine or grid of multiple machines (maybe even taking into account graphics card GPU power).

    I'm no expert, but the current version of Blender has serious memory use limitations. However, I understand that fixing this would not be an easy task, but it may be one of the most rewarding upgrades Blender's code has ever seen.

  9. First post.
    A Qualifier: blender user for almost a year, I'm a Windows and C++ programmer, and an artist for as long as I can remember.

    I looked at the model, and aside from the multi-pointer, remote input stuff people have been bandying about, I had one comment: Isn't this the Windows model? Event driven programming? (YES, I know this model is implemented by most other GUI OS's out there, each with its own nomenclature and methods) I just couldn't help but think "Welcome to MSWindows!!" while reading the log.

  10. " i have no experience with construction history in apps... how do they store reliable
    redoable selecting?"

    Other apps that have macro recording actually do not record mouse selection. Macros in Microsoft Word record the name of the object that was selected, as do Actions in Adobe Photoshop.

    Still, recording a tutorial from the start of opening a file should always yield the same results, as the objects will have the same names. And carefully recorded macros can avoid selecting obects and start with the "active selection".

  11. I am an artist from birth, and a Blender user since 1998, I am not a programmer or developer in any way...

    In using Blender various versions - each has been a fairly decent improvement over the previous version.
    I have used Blender on PII@350 running Linux, PIII@450 running Windows 98, and Linux, and currently run it on an AMD Athlon 64 2700+ (2.24GHz) - I don't remember the version I first used, but as I didn't have much of a clue about how it worked, it wouldn't have mattered anyway.

    I have found that Blender 2.46 does use more of my memory than 2.41 did but the amount used is not signifacant enough to change my usage habits or reduce my creativity. I would suspect that according to the information given that the next version will take less memory and be more capable than the current version with a 'smoother' interface :D sounds good to me...

    I am glad that some news is out about how the next version will work.

  12. I'd like to make newbie comment - so glad I've already started learning Blender, as it'll take less time to get up to speed with improvements. (Such a shame I wasn't born later/ didn't get a computer earlier/ etc.)

    Absolutely stunned by the whole Blender community.

    Happy New Year everybody, looks like it's going to be a good one!

  13. Wow O.O

    I just read some of their chat history... they really have completely pulled blender apart and are putting it together from ground up. Which in all truth is exactly what Blender needed. I expect when they're are done that Blender will be faster, more stable and have a tonne more features! *CAN* wait till they're finished!

  14. Good to be in the loop. I'm quite happy to keep pushing 2.45 to it's limits until then, I'd rather it be awesome the first time rather than rushed with a monthly patchup for the first half of the year. All the best to the team!

  15. I'm sorry to say that the 'MVC' model in the attached image is incorrect. The power of the MVC model is that information does not flow one-way, but works in a triangle. Eg., a controller could interact both ways with a model, without it ever knowing of the nature (implementation) of the view (and as such, making the view completely replaceable). Also, although the 'new' model you propose for Blender appears to be more 'complex' and 'thought out', all I'm seeing are concepts that should be connected with an implementation of a MVC approach and should certainly not appear on such a high-level architectural picture (especially if you're comparing it with an MVC model of this high-level).

    @rednelb: What he is suggesting is that a too tight grip when implementing with an MVC model leads to code over-engineering. Sometimes a simpler model works easier for developers or could involve a huge performance increase (in computation or space).
    @carlcomplaint: As much as we like to innovate *now*, a good approach towards innovation often involves planning and architecture. During the construction of a new model oil-tanker, for example, parts of the once to be completed ship are already being ordered (leading to a chain of orders, going back all the way towards iron-ore), while other people are still drawing the designs of other parts of the ship. Surely, such an approach would not be possible without careful preparation on flows of goods and information. Therefore, a good architecture leads to a smooth development later on. Innovation is often in the planning and architecture, not in the eventual implementation (although the implementation is what people see).
    @daves: You might be very right here, although I'm not a Windows programmer by heart. These event-driver MVC architectures have driven many applications so far. The reasons? They are relatively easy to grasp, they keep things seperated, they allow for easy replacement of parts and they can be easily tested. As an extra: they are very suited towards object-oriented languages (whereas other (older) models are less so).

Leave A Reply

To add a profile picture to your message, register your email address with Gravatar.com. To protect your email address, create an account on BlenderNation and log in when posting a message.

Advertisement

×