Arguments for Blender's Design

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

Post Reply
ChrisAtSilentOrb
Posts: 0
Joined: Thu Jan 11, 2007 8:52 pm
Location: Orange County, CA
Contact:

Arguments for Blender's Design

Post by ChrisAtSilentOrb »

I am moving away from my previous 3D tools (Maya and Lightwave) and am debating about whether to focus on Blender or Softimage XSI.

Being a programmer as well as an artist, the main things that attract me to Blender are it's robust Python API (the best 3D scripting I've seen) and it's remarkable online community.

The main things that attract me to XSI is it's dedication to workflow and it's object-oriented infrastructure. From the ground up, it's the most well organized 3D program I've seen.

To me, what messed up programs like Maya and Lightwave was a focus on features without ever fixing the core system those features are built upon. Blender has so much potential, but when I look around at what Blender users and developers seem to be concerned about, core design seems to be low on their list of priorites. Already Blender is falling into the same pitfalls that the 3D behemoths are now stuck in.

So is that really the case? What are your arguments in flavor of Blender's design and vision for the future?

Thank you for your input,

Chris Johnson
www.silentorb.com

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

Blender has so much potential, but when I look around at what Blender users and developers seem to be concerned about, core design seems to be low on their list of priorites. Already Blender is falling into the same pitfalls that the 3D behemoths are now stuck in.
I'm not sure how you think 'core design' isn't a consideration - things have been steadily been being refactored to improve design and flexibility. Next on the schedule for refactor are the particle tools (90% done already); interface and event system; the remained of the animation system; and probably the mesh tools.

The transform system; bones and constraint system; modifier stack/core object system; rendering system; and image handling system have all had substantial rewrites that have heavily focused on improving their core design. In the process that allowed significant improvements in both feature set and flexibility of usage and ease of development.

LetterRip

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv »

but when I look around at what Blender users and developers seem to be concerned about, core design seems to be low on their list of priorites.
This is quite simply mistaken.

One thing that sets open source projects apart from commercial applications is that O.S. projects can undertake development paths like rewriting entire subsystems without once hearing "So how many new sales will we get from this?".

In Blender's case, as the code base has evolved, we have taken the time to refactor subsystems that no longer meet our needs. Examples, off the top of my head, are the python api, display lists, the sequencer, and the render pipleline. Next on the schedule is event handling. (inside joke: finally, everyone will have their own Quit command!)

To my mind, this willingness to refactor code is the biggest sign of Blender's viability as a project because it keeps the code from becoming a glued-together hodge-podge of features and allows us to go forward with new development. Speaking as a product developer, I have seen more than one commercial product stagnate or even die because they could not do this.

Two good places to get information about Blender development are the developer's wiki pages at
http://mediawiki.blender.org
and the bf-committers mailing list.

nemyax
Posts: 0
Joined: Mon May 31, 2004 12:34 pm

Post by nemyax »

LetterRip wrote:Next on the schedule ... remained of the animation system
Can you give more details on the animation system update? Plans for the other things you listed have been discussed elsewhere, but not for animation.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

NLA and IPO system improvements primarily - right now you have to write a heap of duplicate code to add a function - Aligorith will do the work with Tons assistance.

LetterRip

ChrisAtSilentOrb
Posts: 0
Joined: Thu Jan 11, 2007 8:52 pm
Location: Orange County, CA
Contact:

Post by ChrisAtSilentOrb »

things have been steadily been being refactored to improve design and flexibility
In Blender's case, as the code base has evolved, we have taken the time to refactor subsystems that no longer meet our needs. Examples, off the top of my head, are the python api, display lists, the sequencer, and the render pipleline. Next on the schedule is event handling. (inside joke: finally, everyone will have their own Quit command!)

To my mind, this willingness to refactor code is the biggest sign of Blender's viability as a project because it keeps the code from becoming a glued-together hodge-podge of features and allows us to go forward with new development. Speaking as a product developer, I have seen more than one commercial product stagnate or even die because they could not do this.
Even though I wasn't exactly thinking about refactoring, what you both said reflects the sort of philosophies I'm looking for, and I'm glad you brought refactoring up. I have noticed a great deal of quality in the areas you mentioned, particularly the Python API.

With that said, I think 'core design' may not have been the best word selection on my part. When I was referring to 'core design' I was referring to the architecture and framework of Blender, not so much the individual components which that framework holds together.

From what I've seen of Blender's scripting and plugin capabilities, I've seen a great deal of power for users to add ontop of Blender, but aside for creating a custom build, I don't see a lot of functionality for modifying what's already there.

The main Blender executable doesn't appear to very modular. The renderer, animation system, modeller, etc. seem very tightly integrated with each other, which would make them interact with each other very well (I'm not questioning that) but would also make it hard to mix and match those components with other components.

I know 3D packages in general are not very modular, it just seems like that would be a particularly critical issue for such a large open source project as Blender.

Is Blender more modular than what I've seen, or, if not, are there any proposals for making it more so?

Thank you for your time!
Chris Johnson

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

Some parts are likely to improve modularity with time, or at least get more of a pluginable nature.

Gameengine and render engine are both likely to become fairly plugable; simulation systems will become more coordinated which will probably allow easier 'plugging in' of custom simulation tools. Compositor is likely to gain a plugin system for custom nodes.

Other than that i don't know of anything of such a nature being on peoples todos. So at least probably not within the next 6 months development.

LetterRip

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri »

LetterRip wrote:I'm not sure how you think 'core design' isn't a consideration - things have ...
LetterRip
Most discussions on this forum is about the Gui. That's mostly users complaining that write and get documented.
People who are happy with the interface are not going to spend time here posting on how happy they are with it.

Although we keep stating this is a developers forum, the "Real" developers are not discussing anything at all here. Check out the IRC channels for the real developers meetings and the project area to see what is really going on in development.

What I understand (I'm not a developer myself) improvements of the underlaying system goes in waves, mostly based on what is needed for real projects. This gave the node based noodle editor for example, and the render layers. Next is the events? Thats really old now and currently prevents keybinding and multi device input. Another issue that needs to be looked at is the mesh data, the current system is stopping n-gons and that is going to be a miss at some point.

Anyway, there is a lot of "under the hood" fixing going on, it's just not that loud. You can check them out here: http://www.blender.org/cms/Releaselogs.34.0.html
The main Blender executable doesn't appear to very modular. The renderer, animation system, modeller, etc. seem very tightly integrated with each other, which would make them interact with each other very well (I'm not questioning that) but would also make it hard to mix and match those components with other components.
I don't understand what this has to do with the choice between blender and xsi. Do you have access to the source code of xsi?

BlackBoe
Posts: 0
Joined: Thu Sep 07, 2006 4:57 pm
Location: Ontario, Canada

Post by BlackBoe »

I understand about modularity. Modularity means that things are compartmentalized and they go through channels that can be split and changed and what-not.

Like... a character muscle plugin. Instead of re-writing blender at its base, if blender was modular you'd be able to just hook the plugin up to the output and input of the two pipelines and everything would blend seamlessly. At least I think this is is what he means by modularity, when I look at plugin based programs like max and xsi.

ascotan
Posts: 0
Joined: Thu May 29, 2003 10:32 pm
Location: Maryland, U.S.

Post by ascotan »

Since blender is an open-source project maybe it would make a nice proposal for a C coder?

Improvements to the blender plug-in system?

lukasdesign
Posts: 0
Joined: Thu Jan 01, 1970 1:00 am

having great respect for newtek's last lightwave release...

Post by lukasdesign »

the ONLY thing that keeps LW9 in ahead of blender in my worklflow are a couple of great plugins...namly fprime and sasquatch...
if we would have a realtime render preview like fprime, and a fast and solid GI solution...well who wood be in need of LW???? for now the free renderer developers can't keep pace with the development of the blender guys...so i guess in the end all depends on the core developers of blender to provide us this solutions within blender.

Btw.:I jumped from blender to lightwave because I once felt the need of a "PRO" app. I opted for LW, because it's somehow very, very similar to blender! but with every new release of blender I feel more and more like switching back to blender...

Azrael
Posts: 0
Joined: Fri Jul 22, 2005 3:46 am
Location: Stouffville, Ontario -- Canada
Contact:

a reply

Post by Azrael »

joeri wrote:
Most discussions on this forum is about the Gui. That's mostly users complaining that write and get documented.
People who are happy with the interface are not going to spend time here posting on how happy they are with it.
I do not 100% agree with what you said here since in a lot of those posts, users who like the UI are clearly present. They say things like "You are wrong, why would we want to make blender like x app and y app, the interface is unique and I love it, once you get to know it you wont be able to live without it."

;-)

We can make blenders interface better for everyone especially by asking why they felt the interface was confusing. What kind of changes can we make so that the interface is better for everyone?

Post Reply