Arguments for Blender's Design
Moderators: jesterKing, stiv
-
- Posts: 0
- Joined: Thu Jan 11, 2007 8:52 pm
- Location: Orange County, CA
- Contact:
Arguments for Blender's Design
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
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
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.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.
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
This is quite simply mistaken.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.
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.
-
- Posts: 0
- Joined: Thu Jan 11, 2007 8:52 pm
- Location: Orange County, CA
- Contact:
things have been steadily been being refactored to improve design and flexibility
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.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.
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
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
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
Most discussions on this forum is about the Gui. That's mostly users complaining that write and get documented.LetterRip wrote:I'm not sure how you think 'core design' isn't a consideration - things have ...
LetterRip
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
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?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 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.
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.
-
- Posts: 0
- Joined: Thu Jan 01, 1970 1:00 am
having great respect for newtek's last lightwave release...
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...
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...
a reply
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."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.

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?