views:

191

answers:

4

Hello,
I'm implementing a web application that is written in C++ using CGI.
Is it possible to use a 3D drawn GUI that also has animations?
Should I just include some kind of mechanism that generates animated gifs and uses an image map?
Is there another, more elegant way of doing this?

EDIT:
So it sums up to Java or Silverlight or Flash 10.
Is Flash 10 common already? If not is Java a better choice since it's more wide spread?

+3  A: 

I think you're missing a few key ideas.

If you want to have a 3D web-app, I don't think you're going to have much success doing it on the back-end. You'll use a ton of CPU and bandwidth rendering and sending down frames, and it will be slow and laggy (despite what some video game start-ups that will remain nameless might have you think).

Instead what you want is some client-side technology, like Flash 10 or Silverlight, which does hardware accelerated rendering on the client, using the clients CPU and GPU.

jeffamaphone
This is not a game.Animations aren't so frequent.I'm trying to avoid Flash or Silverlight since it's an interface for an embedded device.Yes, it has to be 3D.
the_drow
Judging from this, and your other comments in the thread, it seems you've been given some unrealistic requirements. The sad fact is, even in this day and age there is no universal (i.e. cross-browser) way of doing true 3D in the browser. Good luck.
jeffamaphone
+4  A: 

I'd recommend taking a look at the Canvas HTML tag, as well as Chrome Experiments. Those require a pretty modern browser with a very goo JavaScript implementation, but some are rather impressive.

Other options include Adobe Flash and Microsoft's Silverlight.

Kitsune
I need it to be pretty portable on all modern and commonly used browsers.
the_drow
Canvas has pretty wide support (like normal, IE's support is a bit flaky... either needing a third party plugin or somethign similar). If you limit yourself to rather simple animations, it should work okay on any browser that supports the canvas tag.
Kitsune
I'm not sure the animations will be simple. They include lightning changes and zooming in and out of controls.
the_drow
+2  A: 

First: from some of your comments, it appears you're not planning to actually use your web application in a browser. If I'm wrong, see below. If I'm right, then you're perfectly fine to write whatever UI you want using whatever technology you want and connect to your web application via that UI program. There are issues you'll have to deal with: what platform, what technology, etc. But you'll have no problems connecting to your web application using such a UI; just follow the HTTP protocols in your socket programming or use a framework that does it for you.

That said, if you're planning to do 3d in-browser, you should look into the Google O3D API. It's a browser plugin, but it should give you everything you need to do 3d in-browser using the GPU rather than software rendering like Flash and Silverlight do.

If you're not willing to use a browser plugin and you're not trying to do your own UI program, then your only other option is to use Canvas and Chrome Experiments as @Kitsune has suggested.

Randolpho
I am planning to do 3D in-browser.The O3D looks interesting but it's unstable.It seems that all of my options aren't very attractive.Thanks, I'm all out of upvotes so I'll upvote you tomorrow.
the_drow
Well, you're right; all of your options are not attractive. That's kinda the nature of the beast that is the web.
Randolpho
+1  A: 

Hi,

I'm having the same problem: I need to display 3D models inside a web frontend (CGI).

Currently Flash seems to be the best solution - nearly all browsers support flash (including many mobile devices) and there's a big variety of tools and sdks for Flash - see: http://osflash.org/projects

So I would try to develop a CGI app, which generates a flash animation and delivers it via http.

Would be interesting, if you have found a solution / way to realize it - currently I don't have the time for it :(

ciao, Chris

PS: Adobe has the Flex-3 SDK as OpenSource - which can be used for commercial applications.

3DH
Have you tried doing this?
the_drow
Keep in mind that the Flash plugin does not have access to the GPU and must therefore render its 3d using software rendering. This usually causes performance issues.
Randolpho
Not yet, currently I've no time for that, but I need it in a few months for a current project...
3DH
Can you contact me at the_drow at walla dot com?
the_drow