Slashdot Mirror


Designing Computer Animation Software?

reversedNormal asks: "I would like to write a full fledged 3d-Animation Software package from scratch. Yes, I know, a VERY daunting and time consuming task. But I have a very good understanding of 3D mathematics, physics, and computer graphics in general, plus a solid foundation in computer programming. To give you an idea, this package will be similar to Maya, 3DS Max, etc... in many respects. The question is, what is the best programming paradigm to use for such a project? I have all of the major concepts, and relationships in mind, but refuse to write one line of code until I have a good design plan. How does a professional programmer approach this design task? Ultimately I would like to be able to tie it into any number of different operating systems, graphics API's (OpenGL, DirectX, etc..), and so on. What are some good ways to do this?"

"Essentially I want the core of the software to be written in Standard C++, and then be able to tie into the Win32 API, or X, or QuickDraw (etc.) for display and input. The main concepts, such as procedural 2D and 3D geometry, 3D geometric transformation, polygon modeling, NURBS modeling, subdivision modeling, keyframe based animation of parameters, motion capture control of parameters, physics-based animation, sound synthesis, texture-mapping, lighthing, rendering, and so on are generally abstract ideas that do not need to depend on (but can certainly take advantage of) any particular API or environment. Of course, the idea is to eventually visualize the abstraction onto the screen, allowing the user to interact via the 2D pointer and keyboard input, and ultimately rasterize it, which will mean turning to various operating system standards. It will also be open as a plugin host and have a built in scripting language. Any design suggestions? I know that this is probably the most intelligent audience to communicate with, and any feedback would certainly be appreciated"

8 of 351 comments (clear)

  1. Rough Outline by cscx · · Score: 4, Funny

    Step 1: Create Sourceforge account.
    Step 2: Place project into "Planning" phase.
    Step 3: Wait 3 months.
    Step 4: Purchase 3D Studio Max using the money you've been saving for 3 months.

  2. what you need... by youBastrd · · Score: 4, Funny

    Seems to me you need some sort of mechanical device, perhaps one useful for motion. You should try a roundish shape, some research has proven useful in this area. However, you should not take advantage of this research, rather, reinvent it.

    --
    No one has ever fired for blaming Microsoft.
  3. I just noticed by Anonymous Coward · · Score: 5, Funny

    I know that this is probably the most intelligent audience to communicate with, and any feedback would certainly be appreciated.

    You're new around here, aren't you?

  4. It's called a Wheel(tm), and it's been patented by yerricde · · Score: 2, Funny

    you need some sort of mechanical device, perhaps one useful for motion. You should try a roundish shape

    That's called a wheel, and it's been patented (PDF).

    --
    Will I retire or break 10K?
    1. Re:It's called a Wheel(tm), and it's been patented by Tablizer · · Score: 2, Funny

      No problem. Open source cars will simply use triangular wheels. The ride may be a little bumpy, but it is worth it to send a message to those greedy bastards.

      Wheel show them!

      BTW, why can't those slimeballs patent spam and popup ads, and then hunt down the spammers and wack them in the wallet. That is how the patent system is *supposed* to work in my way of thinking.

      On a serious note (and to avoid "offtopic" mods), I am surprised that 3D software packages are not riddled with patent disputes. Some of the technologies involved are not trivial. It is a good thing that in the 70's and early 80's it was tradition to share such info.

  5. You forgot... by nytes · · Score: 2, Funny

    Step 5: ???
    Step 6: Profit!

    (Ahh, the oldies are still the goodies :-)

    --
    -- I have monkeys in my pants.
  6. Emacs by cscx · · Score: 4, Funny

    Doesn't Emacs already have this functionality built-in?

  7. The story of the lobsters by Laplace · · Score: 5, Funny

    The posts here remind me of a story I once heard. There was a bucket full of lobsters. The lobsters hated being in the bucket, and were all trying to get out. Every time it looked like one lobster was about to pull itself over the edge, the others would grab ahold of it in the hopes of being dragged out too. Instead of being finding their freedom, they would pull the lobster back down and they would all be back where they started.

    Why are you being a bunch of lobsters, Slashdotters? Why can't you support this guy and move him along towards his dream? Trolling and cynicism: is that what we have all come to?

    On the other hand, the guy does sound like a fucking idiot.

    --
    The middle mind speaks!