Slashdot Mirror


The State of Open Source 3D Modeling

gmueckl writes "Since Blender was released as open source in 2002, it has basically owned the open source 3D modeling scene. Its development has seen a massive push by both the community and supporting organizations. However, the program has been showing its age all along and efforts to improve on it have either been blocked or have failed in the past (note the dates). Authors of new modules are forced to jump through hoops to get their work glued onto the basic core, which still dates from the early 90s and has gone almost unchanged since. There are many other active projects out there like Art of illusion, K-3D, and Moonlight|3D. Each of them offers a modern, much saner, more coherent, and more powerful basic architecture and could match Blender in a couple of months' time with some extra manpower. So how come these projects don't get the level of support they deserve? How come developers are still willing to put up with such an arcane code base?"

9 of 267 comments (clear)

  1. Re:Blender changes over time by gmueckl · · Score: 5, Informative

    No, but it touches on an aspect of Blender that I happend to be familiar with at the time: the crufty file loading and saving code. All that XML stuff would have helped to sanitize that part of the code. The basic idea behind Blender's file format is not bad, but with all the changes that were made to Blender's data structures the strong ties between the file format and data structures led to long lists of hacks that were introduced to keep the program compatible with older versions. I picked that example for two reasons: it's documented and easy to get into. Many other issues are only discussed in IRC so there is no real record of them.

    Another problem is Blenders old user interface code. It dates back quite some time and it surely has been updated time and again. But because it is a library that does everything by itself on top of OpenGL and thin wrappers around the actual windowing system it did not get proper support for multiple screens yet although this has been called for some time now. User interface translations are a similar topic which has been tried time and again and still isn't fully accomplished. Back in the days when Blender ran on SGI workstations the decision for an own UI toolkit made sense. But times change.

    --
    http://www.moonlight3d.eu/
  2. Re:First Post by badspyro · · Score: 5, Informative
    I do computer games development, and I usually use 3DS MAX.

    I have attempted to use K3D and blender, and still play about with them. Blender is a nice looking interface, but it is daunting and has a tall learning curve. It uses massively complicated menus and certainly to someone who was taught on 3DS MAX a difficult interface and no foreseeable improvement to MAX from the get go. K3D, however, I liked. It has a simple interface, and its tree set-up for objects is a good way to edit and change objects settings. The only problem that I could see with this program was that the interface looked old and felt cluttered even on the 21inch screen I was using. I would hope that developers could look at K3D more and develop it further, as I believe it has the potential to rival 3DS MAX, Maya and Blender

    Thanks,
    Badspyro

  3. Re:It's a pain. by Briggs_Bl · · Score: 5, Informative

    Your correct in saying that a lot of things are a mess, however as a develoer, I can't agree with your asessment of our feelings about the state of the codebase. Right now we are currently working on several large-scale refactors of core portions of Blender's code-base. This isn't something that happens overnight though. We certainly want things to get better, but it has to be the right thing and the right time and for the right reasons. Otherwise we might end up with something worse than what we have now.

    Cheers

  4. If you want to learn Blender.. by mpn14tech · · Score: 4, Informative

    Blender has a rather unintuitive interface and most of the documentation is not that great. Fortunately I came across this excellent tutorial . The file is a pdf. It took me about a month of evenings and weekends, but once I was through the tutorial I was quite comfortable with the interface. It is really amazing what you can do with Blender once you get over the learning curve.

  5. Why is it always just the UI? by gmueckl · · Score: 4, Informative

    This is to all those people who claim that you just have to learn to use Blenders user interface: My question really was initially not that much about the user interface, but the user interface really is at the core of the problem, but not in the way you probably expect.

    The alternative applications that I have pointed out are really designed for a job. They adhere to basic MVC patterns and whatever else you would expect from such a big application. These patterns really are a big advantage when it comes down to coding stuff. Blender on the other hand has a "user interface driven design", as Ton once said. And this term fits well: the user interface - and I almost literally mean the buttons on screen and whatever event handling that is attached to it - are the only glue that keeps everything together. So when you talk about the user interface you also talk about Blender's internals. There is not much of an abstraction between the user interface and the data that is manipulated. So the bottom line is that any change to Blender's user interface is a change to Blender's design.

    --
    http://www.moonlight3d.eu/
    1. Re:Why is it always just the UI? by Papulizer · · Score: 4, Informative

      The core of Blender is its database concept. The UI is exchangable and it will be refactored during the course of this year. You're right, blender is about UI, but what that really means is that there are some basic guidelines (e.g. non-overlapping, muscle memory) Here is a statement of a blender developer: "This may be shocking, but we kind of like the interface the way it is. You see, we have the source code. If we wanted it different, we would have changed it already. Could it be better? Sure. Will it evolve over time? Without a doubt! Though it seems unfamiliar, Blender's interface is based on principles from Jef Raskin's "The Humane Interface". There are other applications with a different user interface paradigm. I'm sure you can find one you like. "

  6. Blender will remain on top... by UglyMike · · Score: 5, Informative

    Kdawson submitted some anti-Blender tirade written by gmueckl. Fair enough, the guy has a right to his opinion.
    I want to check it out so I go to the never-changing site of AoI and look at the gallery. Well, maybe they keep their best stuff somewhere else....That stuff has been there forever.
    Next I go to K-3D, fondly remembering the build-in tutorials in the 'old' K-3D, the one before the never-ending refactor. Site doesn't load.
    Head over to Moonlight3D. Hey, I remember that from about 10 year ago! Sad story: guys write Moonlight (closed source) Later they come up with Moonlight Atelier. Loads better but still closed source. (Linuxgraphics.fr had a nice Moonlight section) They open source the old code base, lose interest in Atelier and that's it. End of story. OK, so some guys decide to try to revive the old codebase, did some hacks and changes. Project died. This seems to be the legacy. Go look at news. Hey! Who's that posting there? It's our old friend gmueckl! So the anti-Blender tirade looks like a serious bout of jealousy to me...
    If that is the competition Blender has, I suspect it'll be on top for quite a bit longer.... Just compare development pace, feature set, support (2 modern Blender books with a third one on order), roadmap.

  7. Re:Rewriting by LetterRip · · Score: 5, Informative

    gmueckl,

    I'm sorry sir but you seriously mistaken,

    "
    Blender is a design that was never intended to grow into what it is now. Remember that it was an inhouse developement of an animation studio so the whole application was designed to get the job done that was at hand."

    Perhaps you should read about Blenders actual history?

    http://www.blender.org/blenderorg/blender-foundati on/history/

    Blender was a rewrite of the inhouse design tool of neo-geo. The design of the rewrite was very forward looking. There were a few design errors, one such design error due to Blender being used inhouse is that the input design wasn't made easily customizable. This error is one that we are going to correct with Blender 2.50.

    "But when the program itself was commercialized it started to outgrow itself. This was never anticipated and Blender still suffers from that."

    It had been anticipated that Blender was to be commercialized. The technological and design foundations of Blender are pretty impressive. Blender has had some issues (all but a small handful of which have been addressed), but not anticipating commercialization is not one of them.

    "The other applications that I pointed out have a solid design which is able to grow. Commercial applications like Maya, Softimage and Houdini have demonstrated that. Comparing blender to all of those on a design level makes blender stand out as the toy."

    I suspect that you have close to zero knowledge about the designs of XSI, Maya, or Houdini similar to your close to zero knowledge of Blenders design.

    Blender has been able to sustain absolutely ridiculous growth rates in its code base and functionality. Professional 3D artists find the pace of development eye popping/jaw dropping.

    LetterRip

  8. Re:It's there, and it works by gmueckl · · Score: 5, Informative

    I'm the main author of Moonlight|3D. Getting that program to where it is now is the result of many a long night of coding during the last couple of years. Some parts of that type of software really are hard to create. In that part you seem to have made the same experience. But I've also gained enough confidence in the basic design of that application (and learned many lessions from it, too) that I have a pretty good idea of what is possible. And I honestly believe that a project like K-3D can show a higher pace of development than Blender with equal manpower because the foundations are laid out properly. This is not a plug for my project. I am fairly certain that my program is not the one that takes on Blender if that ever happens. I know that I have made my share of (incredibly stupid) mistakes and correcting them will take a considerable amount of time.

    --
    http://www.moonlight3d.eu/