Sign in to follow this  
one mind

3ds max, maya and other popular apps

Recommended Posts

Hi, you know how apps like 3ds max are programmed in c++, i was wondering if this will change with windows changing to .net in the future. I mean, if c# apps start running faster than c++, will developers of good apps like max ect start using c#? Any thought appreciated Cheers :)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
There is too much time and money invested in the code bases of those apps to start over from scratch in another language.

Share this post


Link to post
Share on other sites
Well, I mean, if c# is faster then they would have no choice. Its not like they would be starting from scratch. All thier algorithms and math would be the same. It would be just a matter of changing language. c++ and c# aren't too different to make it unfeasible.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
It would be a waste of time, C++ is fast enough as it is. There is no way using something else would give enough benefits to justify moving to another language.

Share this post


Link to post
Share on other sites
What so is c# going to be quite speedy under the new .net?
So alot faster than java?,

but how can c# be faster than c++? (btw i'm sticking to c++ either way, it grows on you :))

Share this post


Link to post
Share on other sites
C++ and C# are different enough. And it would be feasible to do if 3DS Max were written in say 10000 lines of code. But as is, the code is likely several million lines, many of which are old and monolithic. Combine that with the fact that converting a program from C++ to C# is probably not going to be a direct one-to-one mapping for all but the more trivial stuff, and you've got a project that would take years to complete and re-debug and re-test, all for a speed gain of maybe a few percent (if that). Not worth any company's time and effort.

That said though, there's still a good chance that after Longhorn comes out, companies will slowly but surely switch the projects from using unmanaged C++ to managed C++ or C# (at least where portability isn't an issue) since, at least I had heard, in Longhorn, if you run an unmanaged app, it'll give you a warning box saying that it's an old program and running it could harm your computer. I don't know if that's true or not, but if it is, having a box like that pop up is going to make some of the less technologically fluent people out there demand refunds for your software, or cause them to not even try your demo version. So from a business perspective, it may make sense to convert everything.

-Auron

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
more likely you'd get a slow migration by making parts of it use managed C++ whilst the rest was simply flagged as unsafe.

It's a bit of a cop-out but it means that you could start the app and windows interface as managed and then just declare the rest as unmanaged.

As for whether you would or not.. well i dont see any need for it, the speed difference alone would probably be tiny. Also if there was any form of speed improvement then it'd make more sense to just rewrite the particular rendering section than the whole app in whatever was quicker.

Share this post


Link to post
Share on other sites
Unless there is a complete 100% good way to make C# application NOT-reverse enginerable, I think C++ is still the language.
Right now you can get almost the original code, if you reverse engineer a C# executable.

And the above posts are right, THEY have a very large codebase. But newcomers might use C#, and eventually (when the above problem is solved) I think the market leaders of today (discreet, alias) will change to C#.

Share this post


Link to post
Share on other sites
Quote:
Original post by Pipo DeClownBut newcomers might use C#, and eventually (when the above problem is solved) I think the market leaders of today (discreet, alias) will change to C#.


C# is designed to give you cross platform capabilities. Since the major anim packages already have this (Apart from Max - Maya, Xsi, & Houdini all work on irix, linux, apple & Win32). there would be very little point in bothering to switch to C# since you wouldn't gain anything.

The other point to consider is that, IF a package was going to be converted to C#, then you would also have to convert the respective API's for that app. This would anger the entire user base of that package, since you would have to re-write or re-facture all tools and plugins you've ever written for it. This would anger too much of the user base to be viable.

Put simply, Maya, Max, Xsi, Houdini and Lightwave will NEVER be converted to C#. At this moment in time, it is still easier to port the C++ code to a new platform, than it is to re-write the App in another language.

( Xsi has a very flexible scripting/plugin system. Chances are that if you can't already write plugins & scripts for it in C#, then support will be added soon )

Share this post


Link to post
Share on other sites
Quote:
Original post by one mind
I mean, if c# apps start running faster than c++, will developers of good apps like max ect start using c#?

Why do you think speed is all that developers need? Check your CPU usage when using 3DS Max, it's probably around 10%. A much more important concern is maintaining and updating the program minimal effort, for which it makes sense to reuse the previous code and the previous programming language.

Share this post


Link to post
Share on other sites
While I do agree that the effort would be enormeous (sp?) to convert the programs, I do think the effort might be smaller than a lot of you might think. I know that 3D Studio Max has all its tools written in MAXScript. None of that would have to be ported. So in that case, only the backbone of the program would have to be rewritten. Not a small task of course, but significantly smaller than the entire app.

Share this post


Link to post
Share on other sites
Even if C# would be faster than C++ in future platforms, i doubt they would bother porting those apps to C#, simply due to the huge code base they are and due to low advantages of the port. Only advantage would be cross platform capability due to Mono, other than that, there's nothing. The higher speed on C# wouldn't matter, because the main slowdown in those apps is the renderer and it's probably built around assembly instead of C/C++, which would void the "C# will be faster".

Share this post


Link to post
Share on other sites
Quote:
Original post by rick_appleton
While I do agree that the effort would be enormeous (sp?) to convert the programs, I do think the effort might be smaller than a lot of you might think. I know that 3D Studio Max has all its tools written in MAXScript. None of that would have to be ported. So in that case, only the backbone of the program would have to be rewritten. Not a small task of course, but significantly smaller than the entire app.


Breaking an API signs the death knell for an animation Package. Softimage as a company, collapsed after it decided to release Xsi. Companies in industry stuck with the Softimage rather than switching to XSI since it would have broken their animation pipelines.

It's taken about 3 years and a number of different owners before the company has managed to stand on its feet again. It's only now starting to see it's market share return to the levels it once had.

Switching any Anim Package from C++ to C# would signal the same problems for that animation company. The only realistic method would be to release a new package entirely, something that Softimage has shown to be almost impossible to do, and stay afloat.

No, it will never happen - you seem to be ignoring the vast complexity of these Apps. Fancy porting the Fluids to C# after having spent 2 years fixing all of the Bugs in the C++ version? No, you probably wouldn't. The users would also be switching packages in droves if they again had to deal with bugs in something that has been stable for two versions.

Ironically, XSI is the package you need to look at for C#. It will support any programming language for plugins that can use COM.

Share this post


Link to post
Share on other sites
The softimage to xsi shift was deliberate and did not criple Avid. More and more developers are choosing xsi as softimage would not be able to compete in todays market. Also, upgrades between max versions in the past has discreet announce the new version was completely rewritten, designed from the ground up. Also, with the comment about max using 10% of the cpu when running, this is true when first started but see what happens a few hours later when you have a 1000000 polygon scene with subdivision sufaces and all the other stuff, it is almost unusable.
I dont know how many times i've heard users of max say it needs a new core because of unstability, slowness ect

Also, think about how many lines windows xps code would have. Changing over to longhorn will have taken Microsoft about 6 years or so. As they said, it is a complete paradigm shift, like dos to windows. People are already referring to native apps as the dos equivalent.

Anyway, I'm not talking about an overnight shift, say in maybe 5 to 10 years. By that time, graphics technology would have changed so much that they will all need to be rewritten, so why not in the better language, assuming of course that c# is better than c++ by then.
Just wondering about the future :)
no flame wars intended :)

Share this post


Link to post
Share on other sites
Quote:
Original post by RobTheBloke
Quote:
Original post by rick_appleton
snip


Breaking an API signs the death knell for an animation Package. Softimage as a company, collapsed after it decided to release Xsi. Companies in industry stuck with the Softimage rather than switching to XSI since it would have broken their animation pipelines.

It's taken about 3 years and a number of different owners before the company has managed to stand on its feet again. It's only now starting to see it's market share return to the levels it once had.

Switching any Anim Package from C++ to C# would signal the same problems for that animation company. The only realistic method would be to release a new package entirely, something that Softimage has shown to be almost impossible to do, and stay afloat.

No, it will never happen - you seem to be ignoring the vast complexity of these Apps. Fancy porting the Fluids to C# after having spent 2 years fixing all of the Bugs in the C++ version? No, you probably wouldn't. The users would also be switching packages in droves if they again had to deal with bugs in something that has been stable for two versions.

Ironically, XSI is the package you need to look at for C#. It will support any programming language for plugins that can use COM.


Like I said, I am not understating the effort needed to convert, and I am equally sceptic about it ever happening, I am merely stating that the entire codebase need not be converted. The scripts are tried and tested, and should work just as fine with a new backbone (provided that backbone is sound).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this