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?"

13 of 267 comments (clear)

  1. It's there, and it works by Blikkie · · Score: 5, Insightful

    As much as people may hate Blender, the main advantage of the program is that it is there, and that most things work. Some parts are even great. Personally I happen to like the poly-workflow, which is very fast. The main problem with blender for most users is that it takes a while to learn, but once it's learnt, it has a very effective workflow.

    I think that the OP is very optimistic when he sais that it takes only a few months to port everything (and the kitchensink) to another app, that is just impossible, even with open code.

    1. 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/
    2. Re:It's there, and it works by LetterRip · · Score: 5, Insightful

      "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."

      Pretty much every developer that has joined Blender has spent some time looking over the codebases of the other opensource 3D applications. Your claim of a month is absolutely ridiculous - even a year would be an insane time line. At a minimum you are looking at a requiring a similar sized developer base as Blender at least 3 years of full time development before any of the other 3D apps can even come close to Blenders functionality as of right now.

      Here is a very brief list of what you need to approach the basic functionality that Blender has

      Modeling tools - asside from Blender the only half reasonable polygon modeling tool available is Wings3D(which is written in Erlang). In addition to a strong core of standard polygon modeling tools Blender also has sculpt modeling, curve modeling, metaball modeling, NURBS, etc.

      UV Unwrapping - wings has basic UV unwrapping - Blenders are considered one of the best implementations in the 3D industry. As far as I'm aware all of the apps you mention have at best very basic tools.

      Texturing - Blender has full node based materials and texturing; Blender has 3D painting and texturing tools. To my knowledge none of the apps you propose have either of those features.

      Basic animation - you need good rigging and skinning tools for character animation. You need cage deformation, hooks, a driver system etc. I think AOI has okay rigging but other than that?

      Simulation - physics, particles, fluids, crowds, hair. Presumably some of the apps you list have very basic collision integrated? Some also might have very basic particles. The difference between where they are at, and where they would need to be to match Blenders current capabilities is tremendous.

      Compositing - not crucial for a 3D application to have - but this is a powerful feature of Blender having an integrated compositor in its rendering pipeline.

      Rendering - do any of the projects you list have multipass rendering even?

      Scripting - Blenders API has been refactored a few times, this has caused some pain among scripters, but the API has been steadily maturing and is quite large and powerful.

      Exporters and Importers - how many and how mature are exporters for any of your suggested programs? A fairly complete and mature exporter or importer can in itself represent numerous man years of effort.

      Sequencer - again not crucial to meet the definition of a standard 3D animation suite - but again a powerful feature that is part of Blender.

      Logic nodes and game engine - yet another feature that wouldn't be a strict requirement to become a reasonable competitor in the 3D animation suite space, but another tool that is an important part of Blender for part of our user base.

      I get the impression that you have absolutely no idea how much time and effort it would take to become a serious competitor as a 3D animation suite. No disrespect but Moonlight 3D isn't even 1% of the way there, and yet in your estimation it would only take a month to 'catch up'.

      LetterRip

  2. Showing age? by Xzzy · · Score: 5, Insightful

    It's easy to pick on the XML bit (though I don't understand why XML is so awesome it has to be used), but that's a pretty small demerit compared to all the major feature enhancement Blender has attained over the past few years.

    It's earned a fluid simulator. Particle effects have been dramatically improved, yafray integration was a huge improvement for rendering, materials can now be created with a node based system.. the list goes on and on. The feature enhancements that went into the latest point release is worth an essay all on their own:

    http://www.blender.org/development/release-logs/bl ender-243/

    Blender stays afloat because it's seeing active development and is already a mature platform. People are used to the interface (one that newbies hate, but veterans fall in love with), and it runs on all three of the major operating systems.

    I don't think an aging codebase is a critical flaw. Too often people think redesigning the wheel is a panacea for repairing a kludgy system, without realizing that all code projects fall prey to this at some point in their life. Sure we could rewrite Blender.. but to what end? It'd take another 5 years to get where we are now.

  3. Level of support by Fyre2012 · · Score: 5, Funny

    So how come these projects don't get the level of support they deserve?

    Because the issue hasn't been posted to the front page of /. until now.

    --
    This is not the greatest .sig in the world, no. This is just a tribute.
  4. It's obvious by dublinclontarf · · Score: 5, Funny

    Blender's UI is the Emacs of the 3D Modelling world, it's got a steep learning curve but when you get it(in the three or so years it'll take), boy will you be marginally productive.

    --
    http://my.telegraph.co.uk/dublinclontarf
    1. Re:It's obvious by runningduck · · Score: 5, Insightful

      Blender's UI is the Emacs of the 3D Modelling world, it's got a steep learning curve but when you get it(in the three or so years it'll take), boy will you be marginally productive.

      Actually it is the Vi of the 3D Modeling world; it has small footprint and a marginally steep learning curve, but when you get it (in three or so weeks) you will be amazed at what you can accomplish with relatively little effort.

      --
      -rd
  5. 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/
  6. 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

  7. 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

  8. 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.

  9. The submitter is a troll by Qbertino · · Score: 5, Insightful

    As far as I can tell K3D and Moonlight haven't moved an inch in the last 5 years. They both look like students summer projects to me.
    Blender has weedy parts in its codebase, everyone knows that. Any programm this complex and mature has those. But they are being replaced fast and thouroughly by a thriving core team lead by the founder of Blender. Blender runs out of the box on 7 plattforms and has a featureset that closely competes with current topline commercial tools. Try to catch up on that alone 'in a few months' Mr. Smartass. Blender is responisble for the recent price drops in the 3D tool industry alone and when it eventually fully supports Renderman yet some toolmakers are going to have to redo their businessmodel big time.

    The usual UI bickering is bogus aswell. Apart from being just as hard to learn as any tool of same capabilities, blenders UI has been comletely OpenGL accelerated from the begining - one of the things it's unique in iirc. Blender's learning curve is steep, as with any high-end 3D tool without a stack of books. But with the amount of material and books available on the web for free nowadays makes this learning curve not nearly as hard as it was 5 years ago. The featureset is breathtaking and has commercial providers such as Newtek struggling to catch up in some areas (notice the recent addition of an improrved node editor to Lightwave 9 - nothing but a response to Blenders node editor). Sidenote: I own a professional licence of LW 8, a commercial licence of Blender (from the NaN days) *and* use Blender since back in the days of 1.8. I haven't updated to LW 9 for the very reason that Blender 2.43, a few little things aside, offers everything professional 3D needs. And then some - an full-blown integrated compositor for instance.

    Blender is as mature and developed as any open source project could wish for. As *any* software project could wish for actually. Features and improvement are being added on a regular basis and it's fully backwards compliant with any blender file, and it's professional roots not only show but have become more and more visible.

    Bottom line: The submitter of the above article either doesn't know what he is talking about or is a troll. Or both.

    --
    We suffer more in our imagination than in reality. - Seneca
  10. 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