bizarro opened this issue on Dec 30, 2003 ยท 17 posts
jwbaer posted Tue, 30 December 2003 at 4:31 PM
A few thoughts:
Building an application like Poser or DS is a very large undertaking. Having designed and built a 3D application of a comparable scale to what you are talking about, I can tell you that you are looking at a minimum of a couple years of development with a dedicated core of at least several developers. The time it has taken DAZ to get to a decent alpha on studio is a testament to this, as is the overall amount of time that has gone into Poser over the years. Could this project be done as an open source project? Sure. It is just a very large job, and regardless of the number of overall contributors, would depend on a few very competent and dedicated core developers to drive it and push it along. Given that, it's certainly possible.
If I were to think of building such a project from scratch, I would probably build on top of wxWindows rather than QT, but QT is certainly up to the task as well -- it's more of a personal preference. I would also probably build on top of an existing open source scene graph rather than building my own (unless you want to do it just for the experience). OpenSceneGraph is a decent open source scene graph that wraps OpenGL, and it can integrate easily with wxWindows. Building a C/C++ plugin interface would of course be ideal, though it is a fairly difficult thing to do well, but integrating Python is simple to do. Actually building a good Python API takes a good deal of time, as the auto-API-generators don't usually quite give you quite what you want, but its a straightforward process.
If you are greatly concerned with having full control over the core of the 3D application itself then rolling your own is certainly the way to go. However, I would have to agree with what some others have said in this thread. You may find it a more rewarding expenditure of time and energy to either write plugins to DS when the SDK becomes available, or extend Poser via the Python interface (the recent work from WeirdJuice gives an idea of how far you can actually take this). Or, if you want to build a whole new posing engine, it may be more rewarding to build a character posing and/or animation plugin for a general 3D app. That way you do not have the burden of building the supporting framework of the entire 3D application, but rather just the part that you want to do well. If you're not into targeting an expensive high-end app like Maya, MAX, Lightwave, Cinema, etc., even something like Carrara has a pretty good plugin SDK. This approach at least gives you a (fairly) stable basis to build on, rather than having to construct all that yourself.
I also have to wonder if ryamka is largely correct regarding the community that would like to see an open source poser-like program built. I would think that if the community were full of software engineers with a background in 3D programming that we would see a much larger group of people creating Python-based extensions for Poser itself. Those I know of that do have the abilities seem to be generally involved in commercial projects. Maybe a misconception -- I dunno.
Anyways, just felt like dropping my $0.02 on the subject.
-Jeremy