OpenGL or Flash for 3d visualization in the browser

杀马特。学长 韩版系。学妹 提交于 2019-12-06 13:40:02
Electrons_Ahoy

This answer may contain out-of-date information. Please validate this answer and consider providing an answer with recent information.

For a project that you were going to start today, you'd be hard pressed to beat Flash, for a couple of reasons:

  • It works. Flash has been "enterprise-grade" for 10+ years now; you're not going to stumble into a showstopping bug or a host of undocumented calls the way you might with something a little more cutting edge (or rather, bleeding edge, as it were.)

  • It's Everywhere. Adobe claims that something like 97%+ of all browsers have the Flash runtime installed. That's a huge hurdle to have to overcome - you may have the coolest widget on the planet, but if your userbase has to download some wacky 3rd party plugin, most of them just won't bother.

  • It really is cross-platform. I've got mixed feelings about Flash personally, but man, it's cross-platform support is kind of amazing. Sure, linux support is spotty and and it won't run on my iphone, but that's about it.

On the flip side of the coin, I'm not sure there even IS a way to use OpenGL in a browser without a LOT of glue. Using OpenGL for a browser tool is starting to sound like a Java Applet, or a ton of atomic-powered javascript, and at that point, you've more or less reimplemented Flash. :)

What you probably want is O3D.

I may catch flak for this, but investigate the HTML5 canvas for drawing without needing any kind of plugin at all. You can use Processing.js to do a limited amount of 3D, but should be fine. Otherwise, I would look for a 3D flash engine. O3D is too much vapor ware at the moment.

I'd suggest taking a look at the Coppercube 3D engine for flash, currently in beta. It might be overkill, or it might not meet your deadline, but it's pretty cool. There's also a demo available.

One of the reasons Flash is so popular is that its always the same implementation. Whereas something more open standards based, you run into issues with different people interpreting corner cases differently.

Another big plus for me, for flash, is that it prints well. If you trigger printing from flash, printing gets rendered as vectors, so it scales really nicely for the printer. I make use of that in my gear template generator. (http://woodgears.ca/gear_cutting/template.html)

I am going with Flash.

OpenGL is attractive in standalone apps due to performance and flexibility. But for immediate deployment looks like Flash gives me the basics of what I need, with growth potential as Adobe builds out the platform.

I am going to keep an eye on the open standards though, and try and code in a portable way ;)

Thanks all for the answers..

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!