Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Initial WebGL Support Lands In WebKit

timothy posted more than 5 years ago | from the now-in-redundant-solid-stereo dept.

GUI 181

appleprophet writes "WebGL is an upcoming standard from the Khronos Group, the same standards body behind OpenCL and OpenGL ES. It defines the use of OpenGL in websites using the standard canvas element. In other words, websites will be able to render hardware accelerated, 3D graphics natively inside of a web page. In the last week, WebKit, the rendering engine behind Safari and Google Chrome, has added initial support for WebGL, which means it probably won't be too long before Macs and iPhones everywhere get OpenGL web apps. This could have big implications for gaming. HTML5 has steadily been encroaching on desktop applications' territory, but I don't think many people expected browser-based, hardware-accelerated graphics this soon."

Sorry! There are no comments related to the filter you selected.

Ads (5, Insightful)

bcmm (768152) | more than 5 years ago | (#29406955)

While I'm sure there are some great uses for this, it also sounds like a way to serve even more resource-hungry adverts than they can with Flash. Furthermore, if this became widespread in situations not really requiring it, a decent graphics card could essentially become a requirement for web surfing.

Re:Ads (0)

Anonymous Coward | more than 5 years ago | (#29407039)

Actually, hardware accelerated advertisements would improve the user experience, compared to regular advertisements.

But requiring a GPU for web surfing isn't so great. Especially for all those suckers who bought Intel's underpowered GMA chipsets, thinking they would be fine for browsing, email, etc.

Re:Ads (2, Insightful)

Yvan256 (722131) | more than 5 years ago | (#29407083)

All you have to do is tell people in marketing that a lot of people do use the GMA chipsets (all early entry-level intel Macs), netbooks, cheap laptops, cheap desktops, etc.

The iPhone and iPod touch is also getting stronger every day, though I wouldn't be surprised if the 3D chipset in those isn't more powerful than an intel GMA, relative to the screen size of the iPhone/iPod touch.

Re:Ads (0)

Anonymous Coward | more than 5 years ago | (#29407421)

All you have to do is tell people in marketing that a lot of people do use the GMA chipsets

HA! Even if they somehow managed to understand what this means, do you think they'll care?

Re:Ads (1)

Yvan256 (722131) | more than 5 years ago | (#29407901)

Tech guys to marketing guys: "most people don't have the latest hardware. If your ads require too much power then they will look like crap and people won't buy your stuff."

Simple enough.

Re:Ads (1)

paul248 (536459) | more than 5 years ago | (#29408303)

Marketing guys: "You mean our ads will be targeted to the people who like to buy new hardware? Let's do it!"

Re:Ads (1)

Jared555 (874152) | more than 5 years ago | (#29409665)

Tech guys: "But the people who like to buy new hardware already know cheaper places to buy from than us"

Re:Ads (2, Insightful)

dkf (304284) | more than 5 years ago | (#29407269)

Actually, hardware accelerated advertisements would improve the user experience, compared to regular advertisements.

I find that closing my eyes improves the user experience compared with most regular ads on the web. (And on the TV too for that matter.) It's the obnoxiousness that I object to, and the added indignity of ads too often being such horrendous messes that they impact browsing of unrelated sites with common browsers, though NoScript is rather a good response to that (and good for other things too).

Re:Ads (2, Interesting)

mdwh2 (535323) | more than 5 years ago | (#29407575)

An "underpowered GMA chipsets" can still run stuff like Morrowind fine. Are you suggesting that advertisers are going to be writing complex 3D engines of a level comparable to say, Crysis?

And if it sucks, all they have to do is disable the OpenGL web plugin. Yeah, I'm sure they're real "suckers" for not being able to see adverts! The only suckers are people who think they have to buy a high end jet-powered graphics card just in order to do web browsing.

Re:Ads (0)

Anonymous Coward | more than 5 years ago | (#29407881)

"The only suckers are people who think they have to buy a high end jet-powered graphics card just in order to do web browsing."

Or in other words, anyone who has to ask a sales person at Best Buy which computer will help them with "school and work".

Define "Fine." (1)

RulerOf (975607) | more than 5 years ago | (#29408025)

An "underpowered GMA chipsets" can still run stuff like Morrowind fine.

I've never played Morrowind, but I can say for sure that a brand-spanking-new q6600 dell box that shipped with a GMA chip couldn't even play DotA (Warcraft 3, for those who don't know) at a resolution higher than 800x600. With all the video options turned down.

That engine predated the GMA chip by 7 years or more, but would lag under 20 fps in even the lightest of conditions.

Intel's graphics chips are utter shit, and they're holding the entire computing industry as far as 3D graphics are concerned.... Where oh where is that Larrabee we keep hearing about?

Re:Ads (1)

tulcod (1056476) | more than 5 years ago | (#29407479)

It is simply naive to suggest that performance issues should be fixed by disabling interesting technologies which are simply supposed to /increase/ performance. Instead, QoS is what you're looking for, and implementing this for graphics is going to be an interesting challenge.

Re:Ads (1)

mdwh2 (535323) | more than 5 years ago | (#29407555)

Even low end chipsets have reasonable hardware acceleration - so unless they're managing to fit stuff comparable to Crysis in their adverts, I'm not convinced you'll need a "decent graphics card". Vista already made having a certain minimum of 3D functionality a requirement, so I don't see that this will change anything.

If the worst happens and you're using an old computer, you could always disable it - are you going to complain at not being able to see resource-hungry adverts? This won't make it a requirement.

Re:Ads (5, Insightful)

node 3 (115640) | more than 5 years ago | (#29407777)

While I'm sure there are some great uses for this, it also sounds like a way to serve even more resource-hungry adverts than they can with Flash. Furthermore, if this became widespread in situations not really requiring it, a decent graphics card could essentially become a requirement for web surfing.

I don't see how this is any different than the current situation with Flash.

Flash is resource hungry, and plays annoying ads in both 2d and 3d, with sound. So the situation is presently worse. Even if WebGL includes audio (or perhaps in the future there will be WebAL, etc.), the situation is presently worse given how problematic Flash is.

Having seen some of the things Apple (and others, but it's really Apple that's pushing it at this point) is doing with HTML5, everything that can be done to replace Flash is a good thing. Even if it means the same annoying types of ads as now, at least they'll have less of a performance hit, and they won't be tied to a single program that is constantly plagued with security issues, has performance issues, crashes so often that Apple and Google sequester plug-ins/windows/tabs because of it, and whose updater is annoying and tries to push additional toolbars which no one wants.

Just as Flash served to kill off pretty much all the various and annoying plug-ins you had to download to make full use of the web, and replaced them all with a single plug-in to rule them all, HTML5, with things like canvas, the video tag, and WebGL, is looking to do the same to Flash--replace it with something better.

Re:Ads (1)

fatp (1171151) | more than 5 years ago | (#29409291)

In the name of backward compatibility with old browser (noting that many people still using IE6), and the "investment" of web designers on Flash, it will not be replaced anytime soon.

So even the browser provide the same functions as the plugins, you still need tons of plugins if you want to see all web pages.

Re:Ads (1)

Hurricane78 (562437) | more than 5 years ago | (#29408355)

No problem. If someone hates ads, and still does not use an ad-blocker, he's a retard anyway, and deserves it for being so lazy. ^^
I guess those people then will become the Fritos and secretaries of state of tomorrow [imdb.com] .

Re:Ads (1)

Ihmhi (1206036) | more than 5 years ago | (#29408463)

Really? Wouldn't it just popularize something like GL Block or something?

Re:Ads (1)

netdur (816698) | more than 5 years ago | (#29409131)

standards is always better than Flash,

Someone in the know... (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29406973)

...please explain the difference between this and Google's O3D.

Re:Someone in the know... (0)

Anonymous Coward | more than 5 years ago | (#29407023)

Or how this is different than what quake live uses?

Re:Someone in the know... (3, Informative)

erko (806441) | more than 5 years ago | (#29407193)

Quake live (and similar apps) require you to download a plugin.

Ideally, webGL will eventually be included in browsers so any webpage could use accelerated GL without requiring you to download a plugin first. (I'm not an expert, this is just what I've gathered so far, corrections are welcome).

Re:Someone in the know... (2, Informative)

SanityInAnarchy (655584) | more than 5 years ago | (#29407207)

Quake Live requires you to download a plugin -- and it's a specific plugin, for a specific game (Quake Live).

WebGL, or O3D -- maybe they're the same thing? Anyway, both are planned to be either a plugin, or actually included in the browser. And they're just a 3D API -- it means that once you have this plugin, any game will work.

So, kind of like Flash is for crappy 2D games, only actually an open standard, and with decent cross-platform support.

My question was, WebGL and O3D seem to have identical goals. Is there a difference?

To answer my own question... (4, Informative)

SanityInAnarchy (655584) | more than 5 years ago | (#29407233)

Here's a nice summary [google.com] .

It seems O3D is higher-level, thus allowing more to be handled by the browser, whereas WebGL forces Javascript to handle just about everything.

I'm not sure which one I like better. In theory, I like Javascript handling everything. In practice, I don't know enough about VMs to say whether Javascript could be made to perform well enough.

Re:To answer my own question... (3, Informative)

derGoldstein (1494129) | more than 5 years ago | (#29407817)

A common comparison that has been made is that WebGL would be used like Canvas whereas O3D would be more like SVG. (WebGL will be *part* of canvas, of course, but I mean in terms of uses and applications)

If you want links to many discussions about the approaches and comparisons, check out this page [ajaxian.com] .

Since canvas is already known territory (comparatively), and JavaScript is being optimized like crazy by all browser developers, I'd bet that you should expect to see WebGL picked up much faster than O3D. Developers that are already comfortable using canvas for some 2D representations will have only a small step to take to reach WebGL.

Re:To answer my own question... (1)

IamTheRealMike (537420) | more than 5 years ago | (#29408541)

Since canvas is already known territory (comparatively), and JavaScript is being optimized like crazy by all browser developers, I'd bet that you should expect to see WebGL picked up much faster than O3D. Developers that are already comfortable using canvas for some 2D representations will have only a small step to take to reach WebGL.

Well, there are a few major things in O3Ds favor (btw: full disclosure, I am a Googler but have no particular interest in 3D tech beyond enjoying its products).

Firstly, O3D is a plugin that can be installed in Internet Explorer today. The IE team hasn't joined in the sudden frenzy of webapp work that the other browser vendors have been doing. That means things not based on plugins will have limited impact if this doesn't change.

Secondly, O3D embeds V8. Consistent JavaScript performance is going to be an issue for any web-based 3D work. Although it's true that every browser has been getting faster, there are still big differences in what they can do. This may be resolved over time as all the different engines approach the theoretical limits of how fast you can make JavaScript, but until then, having a single known target engine with predictable performance is a win.

Thirdly, canvas vs SVG isn't really a good comparison. 2D graphics are rarely very complex in the same way 3D graphics are. If 2D graphics had the same data throughput, hardware acceleration and tool integration issues that 3D has then an SVG type model would probably look a lot more attractive than a canvas type model. As it happens, for most 2D work a simpler API works well. I remain sceptical that the same is true for 3D.

That said, I am by no means an expert. There is a fun 3D platformer game (Infinite Journey [codejustin.com] ) based on the O3D plugin that I tried - if somebody puts together a webgl demo as compelling as that one is, I'll definitely have to rethink my position.

Re:To answer my own question... (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29409723)

O3D is a plugin that can be installed in Internet Explorer today.

Is it impossible that WebGL could ever be done that way?

I'm starting to think that the best way to deal with IE is to create a Webkit/V8 plugin.

O3D embeds V8. Consistent JavaScript performance is going to be an issue for any web-based 3D work.

And V8 may not always be the best engine for that. And since the browser already does Javascript, I'd say leave it to the browser. If it's really a problem for people, the solution is to upgrade the browser, not to install a bigger plugin.

No, what I like about O3D -- and you'll have to correct me if I'm wrong -- is that WebGL is a very low-level wrapper around OpenGL, whereas O3D is high-level-ish, right? Or, put another way: Would it be possible for O3D to wrap either Direct3D or OpenGL, depending on the platform? That would be a definite win.

Other than that, from reading that discussion, the biggest thing I like about WebGL is that, like most of the other web standards I know and love, and like the Unix philosophy, it tries to do one thing and well.

For example, rather than having its own format for loading assets, it's counting on the browser to provide a more generic one -- maybe the ability to have URLs that refer to some location inside a zipfile (or something else reasonably standard). It occurs to me that data URLs could go a long way here as a hack, too.

Re:To answer my own question... (1)

Hurricane78 (562437) | more than 5 years ago | (#29408417)

I can tell you, that WebGL is going to be slow as hell, as long as the compiler is not at least as optimized as the Java ones. But it has the advantage of being what you're used to, when you already know OpenGL.

Now the good and the bad news is, that nowadays, everything that changed in optics in the last 5-10 years is shader-based. Which means it's going to be just as fast as normal software when just loading precompiled shader progams. But it also means a big security risk, because everyone could load a shader in your graphics card on any website.

I think all in all, it's never bad to have the possibility to do 3D on the web, and have it standardized. But it should be at least opt-in by default. Also don't expect anything too fancy. It will not be able to compete with normal games. Especially without shader support.

But one good thing to close with: It has the potential of finally blowing Flash out of the water, and freeing us from it. (Putting 3D features in Flash will mean to basically create a new product. I don't think Adobe is quick enough with that.) But what we need for this is: Authoring tools for the creative people out there.

Re:To answer my own question... (3, Interesting)

Hurricane78 (562437) | more than 5 years ago | (#29408511)

Damn. I forgot the conclusion: That Adobe might (have to) let Flash die, and create that new product based on the new faster JavaScript engines and that 3D canvas straight away.

Re:To answer my own question... (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29409603)

as long as the compiler is not at least as optimized as the Java ones.

They're working on it. I haven't looked at benchmarks -- it may already be there. Picking a random benchmark shows v8 (Chrome's Javascript engine, which is embedded in O3D) to be 300x faster than Python, and I know Python is easily fast enough to make a decent game in.

Now the good and the bad news is, that nowadays, everything that changed in optics in the last 5-10 years is shader-based. Which means it's going to be just as fast as normal software when just loading precompiled shader progams. But it also means a big security risk, because everyone could load a shader in your graphics card on any website.

I guess the big question there is whether shaders are a security risk at all. Although I'm sure shader systems haven't been designed with security in mind, what, exactly, can they access? I could be entirely wrong, but it seems to me that they'd be pretty severely restricted -- the worst someone could do is DoS you by slowing down your video card a bunch.

it should be at least opt-in by default.

Nah, it should be opt-out by default, and people who want opt-in can use noscript.

Otherwise... shit, Flash should be opt-in by default.

It has the potential of finally blowing Flash out of the water, and freeing us from it. (Putting 3D features in Flash will mean to basically create a new product. I don't think Adobe is quick enough with that.)

I wouldn't underestimate Adobe, nor people's willingness to stick with what they're comfortable with.

I mean, yes, it has that potential, and I'm really excited, but do not underestimate them. That's why this part is so important:

what we need for this is: Authoring tools for the creative people out there.

These authoring tools have the potential to be very cool, but we kind of need to hurry -- assuming that it goes this way, and not O3D.

What would be especially cool is if Adobe started building authoring tools targeting this, and other open standards like the video tag (and canvas in general). I mean, it would be horrible, too -- Adobe GoLive has created abominations, if you dare to peek at the source -- but it would also mean Flash can finally die.

Why? (4, Insightful)

Darkness404 (1287218) | more than 5 years ago | (#29406999)

Why is this necessary? There are some positive uses for it (such as getting us out of dependence on proprietary technologies like Flash) but a lot more negative issues. For one, this will add even more vulnerabilities to browsers which seem to already have loads of them. And for another the web should be accessible for -everyone- from the low-end netbook to a Core i7, and even older systems should be able to browse web. Already many sites are unusable without a recent version of Flash, we don't need extra hardware as requirements to view sites. Yeah, we all know that they should do it in HTML and that will still stick around, but how many of us have encountered sites built entirely in Flash? Or have a requirement of Flash for simple things like navigation? While some things obviously need Flash (such as Homestar Runner because they are Flash cartoons) others use Flash for no real reason. Currently most platforms have Flash or will be getting it. But adding a high-end graphics card to a computer just to view the web? Thats just a bit ridiculous.

Re:Why? (0)

Anonymous Coward | more than 5 years ago | (#29407043)

Actually I think WebGL will have lower requirements than Flash, if only because WebGL is hardware-accelerated and not completely dependent on the CPU. Think iPod touch, iPhone, etc. I bet even the Sony PSP and Nintendo DSi will be able to take advantage of this.

Re:Why? (5, Insightful)

moon3 (1530265) | more than 5 years ago | (#29407137)

Because when this takes off (a few years from now), it might even invalidate Flash as WebGL also mean accelerated 2D and would be more performant in general then 2D Flash, and it could possibly free us from closed-source and proprietary Flash in the long run.

Re:Why? (5, Insightful)

SanityInAnarchy (655584) | more than 5 years ago | (#29407189)

There are some positive uses for it (such as getting us out of dependence on proprietary technologies like Flash)

There are already a lot of ways we could get rid of Flash, if people would stop using it. After all, Flash is mostly used for vector graphics (we've got SVG), interactivity (we've got AJAX/DHTML), and audio/video (we've got the audio and video tags).

For one, this will add even more vulnerabilities to browsers which seem to already have loads of them.

So does every useful feature. I'll bet money that the first serious vulnerability is in a driver, not a browser.

And for another the web should be accessible for -everyone- from the low-end netbook to a Core i7, and even older systems should be able to browse web.

OpenGL can be implemented in software.

And you lost that argument already with Flash. When there are one or more video ads on many pages I visit, I doubt low-end netbooks are doing well.

Yeah, we all know that they should do it in HTML and that will still stick around, but how many of us have encountered sites built entirely in Flash?

The fact that technology can be misused is not a reason to avoid developing said technology.

For example: It's possible to build an entire site surrounded by an iframe, so that navigation is completely broken. That doesn't mean that iframes have no legitimate uses.

It's also possible to build an entire site as a single AJAX app. This can be done well, but it takes more work -- for example, with Gmail, notice that everywhere you go, it adjusts the hash in the URL, so that you can use browser navigation properly -- the back button works, so does bookmarking, open in a new window/tab, etc etc. Sites that don't do that could have really poor usability.

It's also theoretically possible to render images using massive HTML tables, with each cell representing a single pixel. Does that mean HTML tables should be made less flexible, just so no one can do that?

I could go on...

The fact is, there are ways to abuse any technology -- there's always the possibility that someone will print out a website, make the changes they want, scan it back in, and upload it as an image. The fact that people can abuse technology should never prevent us from creating new, interesting bits of technology that have real, practical applications.

While some things obviously need Flash (such as Homestar Runner because they are Flash cartoons)

Nope. They need Flash because they were authored in Flash. They could have been done with SVG, Javascript, and the audio tag, it's just that the authoring tools for these aren't anywhere near Flash itself, from what I understand.

adding a high-end graphics card to a computer just to view the web? Thats just a bit ridiculous.

See, now you're being ridiculous.

Consider that ten or fifteen years ago, using excessively large images would be considered bad taste -- you'd be asking for way too much RAM "just to browse the web", and you'd be wasting a ton of bandwidth. That's why we came up with the idea of thumbnail galleries -- which are still useful, but a better model is really a slideshow.

It's not a "high end video card" now, either. Just about any video card is going to have some 3D capability on it -- and we're moving in the direction of compositing window managers, which will actually lead to cards supporting just 3D (and having to emulate 2D) being cheaper than cards supporting just 2D (and having to emulate 3D).

So, 10 or 15 years from now, when people want to add a little effect to their website -- or build an interesting "flash game" that's capable of actually using 3D hardware -- would you prefer it use Flash? Or maybe you'd prefer Quake Live [quakelive.com] -- a plugin for each game -- may as well just download an exe?

Or would you prefer a world where someone could develop and deploy a visually-impressive MMO that is just a webpage -- where you don't need an account or a download to enter something like Second Life, you can just click a link and you're in the world?

Or, not that it's necessarily a good idea, but right now, you can just sit down at an Internet cafe, or borrow a friend's laptop, type gmail.com, and you have your email. (If you're especially savvy, you type https://mail.google.com/, but the point stands.) Wouldn't it be cool to be able to pop into your World of Warcraft account from that same random Internet cafe? Check your mail, chat with your guild? You might not trust that machine for a serious raid, but you could at least say hello.

One more, just for fun -- every now and then, we see a cool little student game on Slashdot's homepage. Narbacular Drop became Portal, and now there's The Power of Paint, etc... These aren't exactly resource-intensive games, nor are they particularly big (usually under ten megs). Imagine if, instead of having to click, download, install, then run, then uninstall when you're done, and hope it didn't have any spyware... instead, you just click from the Slashdot homepage, and you're in the game.

I mean, this is the stuff of science fiction, despite the fact that we've had the means to do it for at least ten or fifteen years. I'm excited to see it actually moving in the direction of being practical.

Re:Why? (0)

Darkness404 (1287218) | more than 5 years ago | (#29407353)

There are already a lot of ways we could get rid of Flash, if people would stop using it. After all, Flash is mostly used for vector graphics (we've got SVG), interactivity (we've got AJAX/DHTML), and audio/video (we've got the audio and video tags).

As far as I know, SVG is -still- not supported on IE.

So does every useful feature. I'll bet money that the first serious vulnerability is in a driver, not a browser.

Either way, it introduces more security vulnerabilities to the average user.

OpenGL can be implemented in software. And you lost that argument already with Flash. When there are one or more video ads on many pages I visit, I doubt low-end netbooks are doing well.

Owning a "low-end netbook" (EEE 701 running Xubuntu 7.10 with EEE specific customizations) Flash in general works decently enough and the only major problems I've noticed are really due to scaling, not the hardware itself. Then again, my router is set up to block a few adservers.

The fact is, there are ways to abuse any technology -- there's always the possibility that someone will print out a website, make the changes they want, scan it back in, and upload it as an image. The fact that people can abuse technology should never prevent us from creating new, interesting bits of technology that have real, practical applications.

The fact is, Flash is nearly always used for the wrong reasons. WebGL will become the next Flash, and be just as annoying if not more so. So why make a slightly better duplicate of technology that is always misused?

Nope. They need Flash because they were authored in Flash. They could have been done with SVG, Javascript, and the audio tag, it's just that the authoring tools for these aren't anywhere near Flash itself, from what I understand.

And the fact that many browsers can't do them. IE can do Flash, IE can't do SVG. If I can't reach 60% of web users by default, why bother?

It's not a "high end video card" now, either. Just about any video card is going to have some 3D capability on it -- and we're moving in the direction of compositing window managers, which will actually lead to cards supporting just 3D (and having to emulate 2D) being cheaper than cards supporting just 2D (and having to emulate 3D).

Eventually. However have you seen the state of technology for non-geeks? I still know people who use Windows 98 as their default operating system, old Dell towers with low-end Pentium 4s are very common, and for most notebooks integrated graphics is the best they have. Just because we have Core 2 Duos and a decent graphics card doesn't mean that the masses do

So, 10 or 15 years from now, when people want to add a little effect to their website -- or build an interesting "flash game" that's capable of actually using 3D hardware -- would you prefer it use Flash? Or maybe you'd prefer Quake Live -- a plugin for each game -- may as well just download an exe?

When people want to add things to their website they can do it with things such as... HTML and CSS (or whatever their replacements are in 10-15 years). I would prefer it to be in either server-side language with a small client interpreter (similar to how /. is coded) or make it be a desktop application. The risks are too great when you have code running like crazy on the client side, that is when security vulnerabilities come out.

Or would you prefer a world where someone could develop and deploy a visually-impressive MMO that is just a webpage -- where you don't need an account or a download to enter something like Second Life, you can just click a link and you're in the world?

Would you also want ads to run the same way? Or what about malware? Security issues are a major concern as things get more complex. We have a hard enough time just with JavaScript issues which is a simple language.

Or, not that it's necessarily a good idea, but right now, you can just sit down at an Internet cafe, or borrow a friend's laptop, type gmail.com, and you have your email. (If you're especially savvy, you type https://mail.google.com/ [google.com] , but the point stands.) Wouldn't it be cool to be able to pop into your World of Warcraft account from that same random Internet cafe? Check your mail, chat with your guild? You might not trust that machine for a serious raid, but you could at least say hello.

Sure, but you would get all the security issues just the same (assuming your browser was a bit out of date as is common with non-geek machines). All you really get is a program that runs in your browser rather than on your desktop. Other than a longer initial download time and -slight- security benefits, why not run it as a full program on the desktop?

One more, just for fun -- every now and then, we see a cool little student game on Slashdot's homepage. Narbacular Drop became Portal, and now there's The Power of Paint, etc... These aren't exactly resource-intensive games, nor are they particularly big (usually under ten megs). Imagine if, instead of having to click, download, install, then run, then uninstall when you're done, and hope it didn't have any spyware... instead, you just click from the Slashdot homepage, and you're in the game.

But instead, you would have to worry about every webpage perhaps loading spyware. We have Flash vulnerabilities and Flash really doesn't let you -do- that much. A more powerful language will lead to more complex exploits. And worse results.

Yeah, there are some things that would be cool. But I don't see the benefits outweighing the risks, especially for the non-geek users.

Re:Why? (0)

Anonymous Coward | more than 5 years ago | (#29408071)

As far as I know, SVG is -still- not supported on IE.

Not if Google has a say...

http://tech.slashdot.org/story/09/08/22/1246248/Google-Brings-SVG-Support-To-IE?from=rss

Re:Why? (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29409537)

Either way, it introduces more security vulnerabilities to the average user.

Granted. But the obvious question is: How many features are you willing to remove or prevent to keep the user secure? Having a web browser at all introduces more security vulnerabilities to the average user than just not surfing the Internet.

The fact is, Flash is nearly always used for the wrong reasons. WebGL will become the next Flash, and be just as annoying if not more so.

Except that it'll at least be open. Flash is frustrating not only because it's abused (as any technology can be), but because there really aren't that many applications where Flash makes sense. In fact, the vast majority of places Flash is used now, there are and were existing technologies that make much more sense.

Let me put it another way: Do you like the video tag? It likely introduces more vulnerabilities, and it could be abused, and could make some sites slower. But it's a hell of an improvement over Flash.

That's the idea here.

And the fact that many browsers can't do them. IE can do Flash, IE can't do SVG.

IE can't do Flash without a plugin. IE can't do SVG without a plugin. What's the difference?

And I have to point out, I don't think you really mean "many browsers". I think you mean "IE".

However have you seen the state of technology for non-geeks? I still know people who use Windows 98 as their default operating system, old Dell towers with low-end Pentium 4s are very common, and for most notebooks integrated graphics is the best they have.

And again, these are systems on which Flash won't perform well.

And yes, I have seen non-geeks. They tend to like things like netbooks. In fact, my experience shows an opposite trend kind of balancing them out -- when a non-geek notices their computer going slower and slower (spyware, most likely), they have no idea how to fix it. Generally, they either pay someone else to fix it, or they buy a new computer.

A geek, on the other hand, can install Linux and make an old system useful again.

When people want to add things to their website they can do it with things such as... HTML and CSS (or whatever their replacements are in 10-15 years).

Replacements like... oh... WebGL?

I would prefer it to be in either server-side language with a small client interpreter (similar to how /. is coded) or make it be a desktop application. The risks are too great when you have code running like crazy on the client side, that is when security vulnerabilities come out.

This is the part I really can't agree with.

I agree that code "running like crazy" on the client side is a bad thing. But I would much rather have my apps sandboxed by default, not to mention auto-updated, Internet aware, cross-platform, and not needing installation, than having to download an EXE and pray it didn't come with malware.

Would you also want ads to run the same way?

Would adblock suddenly stop working? How about noscript?

Again, like so many other things in your response, this is already an issue with Flash. Someone can already display a video in an ad, with sound, and make it take over as much of the browser window as they can manage. All they can't do, yet, is make it go fullscreen without me clicking something -- and I expect WebGL would be the same way.

Or what about malware?

If it's properly sandboxed, there's not a lot it can do.

Security issues are a major concern as things get more complex. We have a hard enough time just with JavaScript issues which is a simple language.

*facepalm*

I think we've had a grand total of... maybe... one or two actual Javascript vulnerabilities.

The rest are vulnerabilities in the API exposed to Javascript, not in the language itself. Adding support for another client-side language wouldn't add to these vulnerabilities.

And finally, we're not talking about adding another language. WebGL is just a Javascript API. So your first argument would seem to hold -- except that it's also such a simple API to begin with that the vulnerabilities are, again, likely to be in drivers, not the browser.

And frankly, if there are vulnerabilities in those drivers, they need to be shaken out now anyway. I should be able to play games as a restricted user, and not have to worry about a game getting access to the rest of my system.

If you still think security is an issue, recommend people install noscript. That pretty much eliminates the possibility of them even running a WebGL script from any website they haven't explicitly whitelisted. And whitelisting a site in noscript is a lot easier (and safer) than downloading an exe.

assuming your browser was a bit out of date as is common with non-geek machines

I'm curious what the ratio is there for Firefox, especially with how efficiently it tends to auto-update itself.

But this is also a problem for everything else that's already in the browser. Again, if this is such a huge issue, turn off Flash -- surely there's a chance someone's using an outdated version of it, too?

Other than a longer initial download time and -slight- security benefits, why not run it as a full program on the desktop?

I'd argue the security benefits are far from "slight".

There are a few other advantages, too:

  • It shares cache with the browser. This is both more efficient (in case it somehow shares a resource with another game or another website), and is nice in terms of code reuse -- I don't have to write a caching algorithm for my game.
  • If this becomes common, I can expect the security issues to be worked out, in time. Thus, I'd be able to try any game without paranoia. This is something I can't really get with a desktop app. (I could run it as an unprivileged user, but that raises all the same vulnerability-in-the-driver issues, plus it's a major hassle.)
  • Browser navigation works. Back, forward, bookmark, send a link over IM.
  • Easy to develop an API for.
  • Easy to integrate with a web app. Obvious example: Play through the demo, now you need to etiher login or use a credit card. These things have been solved as webpages for decades, and you'll want a webpage anyway.
  • No download time. I think you're severely underestimating how much of a difference this makes. Just compare BitTorrent to YouTube. Sure, I like a torrent for something longer, but YouTube lets me send you this link [youtube.com] -- you can click it, and in less than a second, be watching it. If you don't care about it, you've only wasted a second of your time. If you do care, you don't have to wait for a download. (And that video is pretty funny, so you should click it.)
  • Another effect of no download time: How many games have screenshots and YouTube videos? The videos wouldn't really be needed. They could use in-game demos (saving bandwidth) or just let you play the demo.

We have Flash vulnerabilities and Flash really doesn't let you -do- that much.

Flash lets you run languages other than Javascript, pull in both raster and vector graphics, audio and video, some hardware-accelerated, lets you go fullscreen, lets you store cookies and do some cross-domain requests, including non-HTTP requests, lets you upload multiple files at once, and I'm sure I'm missing a ton of stuff.

This lets you... Render 3D. That's it.

Oh, never mind that Flash is proprietary, and has exactly one implementation that everyone uses, unless you want to count Gnash. This is attempting to be an open standard, already has one implementation, and is likely to have a lot more.

A more powerful language will lead to more complex exploits.

No, it really won't -- especially when this isn't a language, just an API. Flash is several languages, an API, and its own virtual machine.

I don't see the benefits outweighing the risks, especially for the non-geek users.

I think that especially non-geek users need to be trained first to never download anything, second to never download anything, and third to never download anything that ends in exe, vbs, bat, jar, or anything else suspicious.

This is one way to keep them from downloading even more random shit.

Re:Why? (0)

Anonymous Coward | more than 5 years ago | (#29408231)

Why wont Javascript just die already.

Re:Why? (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29409287)

Because it's actually a good language, that you likely don't understand.

Re:Why? (1)

celle (906675) | more than 5 years ago | (#29407343)

You forgot that not everyone has the bandwidth for this graphical crap. The cities mostly yes, out here in the sticks no. Please just give me html so I can actually get some work done and not wait 2 minutes per page transition.

Re:Why? (0)

Anonymous Coward | more than 5 years ago | (#29407453)

But adding a high-end graphics card to a computer just to view the web? Thats just a bit ridiculous.

Hmmm, last time I checked, most onboard graphics cards from the P3 onward were quite capable of rendering OpenGL content...

Re:Why? (1)

mdwh2 (535323) | more than 5 years ago | (#29407667)

Indeed - my steam powered Voodoo Banshee from a decade ago that I have lying around happily runs OpenGL.

The 3D revolution happened over 10 years ago. Strange that on a geek place like Slashdot, this seems to have passed so many people by...

Re:Why? (0)

Anonymous Coward | more than 5 years ago | (#29407609)

And no one needs more than 640k.

Now get off my lawn, you damn kids...

Why shouldn't they? (2, Insightful)

mdwh2 (535323) | more than 5 years ago | (#29407631)

But adding a high-end graphics card to a computer just to view the web? Thats just a bit ridiculous.

Equally ridiculous is the suggestion that you need a "high-end graphics card" to run OpenGL. This isn't 1998 anymore.

Also ridiculous is the suggestion that this will be mandatory for web pages in general. You might as well claim that Google maps shouldn't exist, because good webpages ought to be viewable in Lynx. Or that YouTube shouldn't exist, because webpages ought to be viewable on computers with small amounts of CPU power. Or that Java shouldn't be allowed, because someone could write an application that uses a lot of your CPU power.

There's nothing wrong with having extra technologies when they're needed - such as someone doing an online game. Yes, it'll be stupid if someone requires a 3D card for what should be a simple webpage, but that's no different to them using Flash, or any other kind of CPU-hungry code. It's 2009 - 3D hardware support has been bog standard for years, and isn't any different to a website that requires a lot of CPU or RAM. Just as any computer these days has the CPU power to decode a YouTube video, they also have the GPU power to run OpenGL. Yes, someone could write an annoying webpage that sucked up your GPU power, but they could have done that to your CPU power for over a decade with Java.

Re:Why? (5, Insightful)

node 3 (115640) | more than 5 years ago | (#29407895)

For one, this will add even more vulnerabilities to browsers which seem to already have loads of them.

While replacing one of the biggest ones: Flash.

WebGL won't be a plugin, it will b part of the browser. That means Firefox won't be vulnerable because of an Adobe bug, but because of a Mozilla bug, and Mozilla can fix the bug themselves.

Also, with more diversity, bugs will be less likely to be exploited, and when they are they will have a smaller path of destruction.

And for another the web should be accessible for -everyone- from the low-end netbook to a Core i7, and even older systems should be able to browse web.

This is no different than Flash is now, except that WebGL has the potential to be significantly more efficient. WebGL isn't going to replace HTML, it's going to augment it, similar to how Flash does today. Sites that want to be accessible to more users will avoid reliance on resource demanding WebGL elements, or avoid it altogether, just like sites avoid resource demanding Flash objects.

On the other hand, those sites that want to take advantage of it, and for those users with more modern machines (really, WebGL isn't going to require advanced GPUs and high-end Core2Duos unless you start putting game level 3D and AI into it, simple 3D rendering will work just fine on older hardware--better, in fact, that 3D Flash does now), we'll be able to have a more rich web experience.

I absolutely detest the notion that the web should not embrace new technologies just because some people have crap computers. I agree that most web sites should be designed to be accessible across a broad range of computers (either by limiting advanced features, or providing alternate pages), but if a site wants to specialize with features that tax even modern systems (like YouTube did not too long ago), then as long as they are not essential sites (like banks, utilities, government, news media, etc), then they should be encouraged.

Already many sites are unusable without a recent version of Flash, we don't need extra hardware as requirements to view sites.

There you go. So how is this worse?

how many of us have encountered sites built entirely in Flash? Or have a requirement of Flash for simple things like navigation? While some things obviously need Flash (such as Homestar Runner because they are Flash cartoons) others use Flash for no real reason.

Which has what to do with WebGL?

But adding a high-end graphics card to a computer just to view the web? Thats just a bit ridiculous.

Not as ridiculous as assuming WebGL will mean that you have to have a high-end GPU and CPU just to view the web.

A trusted list of sites. (1)

jack2000 (1178961) | more than 5 years ago | (#29407015)

You know I'll practicably have this disabled for every site except 2 or 3. So, what's the point?

Re:A trusted list of sites. (5, Insightful)

Bigjeff5 (1143585) | more than 5 years ago | (#29407263)

The point is that nobody really cares all that much about what you do, as the web industry does not revolve around you.

Re:A trusted list of sites. (1)

Kuroji (990107) | more than 5 years ago | (#29407303)

The point is that there will be millions who don't, and thereby it's ideal for embedding content and adverts.

Re:A trusted list of sites. (3, Insightful)

mdwh2 (535323) | more than 5 years ago | (#29407719)

You're right - I bet people were thinking making an online game with this, but now they've discovered that you alone will have this disabled, there's obviously no point doing it. It's a good thing you posted to let them know, and save them the trouble!

That's a Bit Optimistic Don't You Think? (3, Interesting)

eldavojohn (898314) | more than 5 years ago | (#29407069)

but I don't think many people expected browser-based, hardware-accelerated graphics this soon

This is great for WebKit and I'm very interested to see where this goes. But you're kidding yourself with that above statement. Firefox is using Gecko and we all know IE will drag their feet on this. So you're proposing a company invest time into a "browser-based hardware-accelerated" graphics game or program by using WebGL ... when it's only supported on the two smallest browser shares out there? Unless there's a way to auto-port existing OpenGL code to WebGL (and the press release didn't seem to imply that), I wouldn't hold my breath. Even if tomorrow Firefox is ready to go with WebGL in Gecko, you've got a long adoption and incubation time on these projects and you'd still be targeting the minority of browsers.

Basically I don't see a good business case or success story coming out of using WebGL over OpenGL or even just dumbing down the graphics and making it something that's widely supported already like Flash. Nothing would make me happier than to see this take off and be the de facto route for putting your game on everything with a browser ... it just isn't at that point or even guaranteed to happen yet.

Re:That's a Bit Optimistic Don't You Think? (0)

Anonymous Coward | more than 5 years ago | (#29407197)

... when it's only supported on the two smallest browser shares out there?

I'm reading this in uzbl you insensitive clod!

Re:That's a Bit Optimistic Don't You Think? (3, Interesting)

beelsebob (529313) | more than 5 years ago | (#29407255)

How about the browser with the biggest share of the mobile phone market - a market where you've notably got no competition from flash games?

Re:That's a Bit Optimistic Don't You Think? (2, Interesting)

Anonymous Coward | more than 5 years ago | (#29407301)

How about the browser with the biggest share of the mobile phone market - a market where you've notably got no competition from flash games?

If you're targeting just one phone, fine. But you might as well just use the iPhone SDK so you don't have code all the touch interaction crap from scratch. If you coded it in WebGL what is the bonus that you got from doing that? That everyone who uses Opera on their desktops can play a game designed with the iPhone screen and multi-touch in mind? Again, you'd be pretty darn ignorant to go with WebGL over iPhone SDK.

Re:That's a Bit Optimistic Don't You Think? (3, Insightful)

Firehed (942385) | more than 5 years ago | (#29407391)

As other smartphones adopt the new standards (many already use Webkit-based browsers), you instantly gain compatibility on those devices. No need to maintain three separate codebases for the iPhone, BlackBerry and Android if your app works great in the browser of all three platforms.

I also prefer sites/apps where I don't have to perform any installation to get at the content, but that's more a matter of personal preferences. Right now that's only practical for a small subset of apps, but WebGL may change that.

Re:That's a Bit Optimistic Don't You Think? (2, Informative)

beelsebob (529313) | more than 5 years ago | (#29407519)

Just one phone? Web Kit is used on almost all Nokia phones, android phones, and iPhones, and probably a bunch more after that.

Re:That's a Bit Optimistic Don't You Think? (1)

Synjyn (1379989) | more than 5 years ago | (#29408101)

this is true, its on many other manufacturers proprietary mobile handset platforms too, because its open source and rapidly replacing some of the other browsers (e.g. access netfront etc)

Re:That's a Bit Optimistic Don't You Think? (3, Interesting)

farnsworth (558449) | more than 5 years ago | (#29407681)

If you're targeting just one phone, fine. But you might as well just use the iPhone SDK so you don't have code all the touch interaction crap from scratch. [snip] you'd be pretty darn ignorant to go with WebGL over iPhone SDK.

If you look at the trac logs for this checkin, you'll see that the commiter has an apple.com email address. So it's probably safe to say that implementing this fits in with Apple's dev tools strategy.

I don't know a lot about OpenGL or WebGL, but it does feel like it overlaps a lot with what Flash and Silverlight provide. I'm not sure what conclusion to draw from that, but it seems notable to me.

Re:That's a Bit Optimistic Don't You Think? (3, Insightful)

R3d M3rcury (871886) | more than 5 years ago | (#29408169)

True. But WebKit is used by Android and WebOS. Also, RIM just bought a company that makes a WebKit-based browser.

So, potentially, you're running on four of the top five platforms.

Re:That's a Bit Optimistic Don't You Think? (3, Informative)

hkmwbz (531650) | more than 5 years ago | (#29407739)

How about the browser with the biggest share of the mobile phone market

You mean Opera [statcounter.com] ?

Re:That's a Bit Optimistic Don't You Think? (3, Insightful)

beelsebob (529313) | more than 5 years ago | (#29408273)

Yes, wait no, given that the iPhone bar, the Nokia bar, the iTouch bar, and a lot of the "other" bar (palm pre, and android) are *all* WebKit based browsers. In the mean time, NetApplications shows the iPhone *alone* ahead of opera.

Re:That's a Bit Optimistic Don't You Think? (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29407289)

So you're proposing a company invest time into a "browser-based hardware-accelerated" graphics game or program by using WebGL ... when it's only supported on the two smallest browser shares out there?

I would, if only because it's a lot easier to convince people to try a different browser (or just provide a downloadable version that embeds Webkit) than it is to convince them to download something every time they want to do 3D.

Or if it isn't, it should be.

Even if tomorrow Firefox is ready to go with WebGL in Gecko, you've got a long adoption and incubation time on these projects and you'd still be targeting the minority of browsers.

Where "minority" means "Everyone except IE, at least until someone hacks it into IE with a plugin."

Consider the following user experience: You try to view the webpage. It says "You need a browser that supports WebGL. Here, try one of these." You download a new browser. From this point on, it's no harder for you to try out a new 3D game than it would be a new Flash game.

Re:That's a Bit Optimistic Don't You Think? (0)

Anonymous Coward | more than 5 years ago | (#29407401)

Consider the following user experience: You try to view the webpage. It says "You need a browser that supports WebGL. Here, try one of these." You download a new browser. From this point on, it's no harder for you to try out a new 3D game than it would be a new Flash game.

My god, how did we overlook this strategy?! Of course it will work because you said so!

Re:That's a Bit Optimistic Don't You Think? (1)

SanityInAnarchy (655584) | more than 5 years ago | (#29409543)

Of course it will work because you said so!

Worked for Flash.

Re:That's a Bit Optimistic Don't You Think? (1)

ceoyoyo (59147) | more than 5 years ago | (#29407311)

Khronos also maintains OpenGL ES and OpenGL. OpenGL ES is basically a subset of OpenGL. It would be very surprising if WebGL weren't very closely related to OpenGL as well. That should make writing a plugin for those other browsers not particularly difficult.

Games! P0rn! (1)

sam0737 (648914) | more than 5 years ago | (#29407141)

When will I be able to play games with Browser? Will Starcraft 2 / Diablo 3 ships release in this "Web format"?

And when will 3D LCD screen becomes affordable and hence animated 3D porn? Oh. I think I can skip the animated part...real actor are good enough!

Browsers might be ready for GL but not Javascript (3, Insightful)

Aggrav8d (683620) | more than 5 years ago | (#29407161)

I've written a few games using the 2D canvas element. Invariably these games use 99% of the CPU because Javascript doesn't have a real sleep() function. There's no decent way to manipulate sounds (like an FMOD for javascript). Tests on my machine show that changing the line/fill color is expensive. There's no way to switch to full screen or to capture every key stroke/mouse movement. All of which is beside the really big issue: there's no decent debugger.

3D games sound like a nice idea but they'll be prohibitively expensive (time-wise) to develop, suffer bizarre bottlenecks not seen in native code, and have to work through the very limited browser interface. While Assembly demo coders might enjoy the challenge of working in such a limited environment, the rest of the world should wait for some real improvements.

Re:Browsers might be ready for GL but not Javascri (2, Interesting)

SanityInAnarchy (655584) | more than 5 years ago | (#29407321)

Invariably these games use 99% of the CPU because Javascript doesn't have a real sleep() function.

setTimeout doesn't work? Or setInterval, if you're going for a specific framerate?

There's no decent way to manipulate sounds (like an FMOD for javascript).

You could play them with the audio tag. I guess the question is whether you can actually manipulate beyond play, pause, seek, and volume... Then again, it doesn't take much more than that to start to do 3D.

There's no way to switch to full screen

I agree, this should be addressed. Actually, I have some ideas of how a browser might implement this, if you're interested.

or to capture every key stroke/mouse movement.

No, but you can capture enough of them to make a game.

there's no decent debugger.

Firebug isn't "decent"?

3D games sound like a nice idea but they'll be prohibitively expensive (time-wise) to develop, suffer bizarre bottlenecks not seen in native code, and have to work through the very limited browser interface.

Granted. On the other hand, they'll be more accessible, they'll have access to the browser (and navigation, bookmarks, etc), and I know of no other platform where I could imagine clicking a link on a webpage and being inside a game in less than a second.

Re:Browsers might be ready for GL but not Javascri (1)

wumpus188 (657540) | more than 5 years ago | (#29407333)

I feel your pain, man.. Been developing "web 2.0" (hate that word) apps for the past 4 years, I can say that lack of sleep() and any real threading support in Javascript (Prototype's defer() and its friends is not an answer) is the biggest obstacle. Won't someone think of poor web developers?

Re:Browsers might be ready for GL but not Javascri (2, Interesting)

sglane81 (230749) | more than 5 years ago | (#29407579)

...these games use 99% of the CPU...
You're doing it wrong (TM). I am working on a game right now, 2 months so far, which has animations and other eye candy and uses no where near 100% CPU on a 4 year old core2duo laptop. It looks like the original Legend of Zelda on the NES or FF 1-6. http://www.cindervale.com/ [cindervale.com]
 
... and it runs on everything back to IE 6 AND BEYOND. Fully supported browsers include IE 6 (2001), IE 7, IE 8, Firefox 1.0, Firefox 2.0, Firefox 3.0, Firefox 3.5, Safari 3.1, Safari 4, Opera 9/10, Chrome / Chromium, and iPhone.

What people don't realize is that you don't need the canvas element. If you use the canvas element, you are defeating the purpose of a web game since the web is all about accessibility. In a few years, yes, use it heavily! By using the canvas, you create an artificial barrier to entry for your players by saying "your must be on the bleeding edge to play."

There's no decent way to manipulate sounds
100% agreed! Hell, you can't even use MIDIs anymore!

There's no way to switch to full screen or to capture every key stroke/mouse movement.
I can't think of a single key on normal keyboard that can't be captured. Shift, alt, control, etc are all capturable. Mouse movement is the same.

As far as full screen, have the user press F11. All browsers I'm aware of use this same binding. Then use a bit of JS to get the desktop resolution and the window dimensions to verify.

It seems that what you are experiencing is game design problems. Try designing games with the limitations in mind rather than trying to design a game then making it fit with the technology.

Re:Browsers might be ready for GL but not Javascri (1)

am 2k (217885) | more than 5 years ago | (#29408047)

As far as full screen, have the user press F11. All browsers I'm aware of use this same binding.

Uh, I guess you've never tested this on a Mac.

Re:Browsers might be ready for GL but not Javascri (0)

Anonymous Coward | more than 5 years ago | (#29409217)

sigh.. browsers are NOT designed for low latency programs like games. quakelive gets around it by using a separate plugin that bypasses the browser process. ALL flash games lag to some extent, and of course it is worse when there is no gpu acceleration for the vector gfx.

Re:Browsers might be ready for GL but not Javascri (3, Informative)

appleprophet (233330) | more than 5 years ago | (#29407665)

While Assembly demo coders might enjoy the challenge of working in such a limited environment, the rest of the world should wait for some real improvements.

Most of your complaints have been addressed in other modules of HTML5. See the media module for native sound support and web workers for threading support.

Regarding debuggers, there are a few excellent debuggers for JavaScript capable of profiling and doing all sorts of stuff. The most notable being WebKit's native Web Inspector and the FireBug extension.

Performance concerns with "fill color" and such are not an issue because they are offloaded to the graphics card.

Full screen mode is controlled by the user agent, not the web page for obvious reasons. Most browsers have support for a full screen mode in some fashion.

Now this is not to say that it's perfect. However, things are looking pretty good. :) This is definitely the future, the question is just how long will it take to get there.

Re:Browsers might be ready for GL but not Javascri (1)

Hurricane78 (562437) | more than 5 years ago | (#29408467)

Uuum... what are setTimout() and setInterval(), if not sleep() functions? Or are they "implemented" as tight loops? ^^ I don't think so.

But I agree on sounds and general slowness.

I think JavaScript will go trough quite a lot of change, which has already started. And it will come out as a pretty well performing JIT-compiled scripting/programming language.
But what I really would wish, is for other languages being implemented in the browser. With a generic (FAST) VM around it.
Then (pre-compiled?) even C++ or Haskell should be doable in the browser.

Re:Browsers might be ready for GL but not Javascri (1)

ardor (673957) | more than 5 years ago | (#29409921)

Hmm, imagine LLVM [llvm.org] in a browser..

Re:Browsers might be ready for GL but not Javascri (1)

Prof.Phreak (584152) | more than 5 years ago | (#29409879)

also don't forget true "arrays"; as is, I think it takes lg(n) time to access array elements.

Driver exploits (0)

Anonymous Coward | more than 5 years ago | (#29407179)

Yay, making graphics driver bugs remotely exploitable, just great. Let's hope NVidia and others keep their careless attitude about possibly exploitable bugs and we'll be in for a lot of fun.

Malware (1, Insightful)

Anonymous Coward | more than 5 years ago | (#29407185)

Oh boy, I just can't wait for the onslaught of malware-induced popups in fullscreen OpenGL to consume every last FLOP of my graphics device.

OpenGL != Fullscreen (1)

mdwh2 (535323) | more than 5 years ago | (#29407707)

You'll be waiting a long time, then.

Fullscreen mode is not handled by OpenGL, it's handled by the Windows API (or whatever OS you're using) - ChangeDisplaySettings. With this, you'll be using whatever's provided by the browser. Since, last time I looked, you couldn't call Windows API functions or otherwise go fullscreen using a browser, I don't see how adding OpenGL support would change anything.

Could you explain how this would be possible?

As for consuming your GPU power, anyone could do the same to your CPU right now, using Java or whatever else. If you're that worried, you'd better keep clear of the web altogether.

Alternatives to Javascript (1)

chrysalis (50680) | more than 5 years ago | (#29407243)

And if you don't want to directly code in Javascript, some great alternative languages can actually compile Javascript code :

- haXe : http://www.haxe.org/ [haxe.org]
- Fan : http://www.fandev.org/ [fandev.org]

Download for WebGL on Linux yet? (2, Interesting)

erko (806441) | more than 5 years ago | (#29407267)

It there any browser to download that will let us try out WebGL on linux yet?
Would building the changes into epiphany or midori work?
I've also tried firefox's canvas3D, but haven''t gotten that to work yet.
Hopefully the WebGL api will be available from the python plugin in firefox. That would still require a plugin to download, but at least there would be a nice 3D web platform to develop in. (yeah, javascript is ok, but it's not great)

Re:Download for WebGL on Linux yet? (1)

ceoyoyo (59147) | more than 5 years ago | (#29407359)

Here's the list [wikipedia.org] .

Konqueror, Chrome, Midori. You'll have to compile your choice with a bleeding edge version of webkit, of course.

Interesting, the Palm Pre also runs webkit.

How will we manage to use this? (1, Interesting)

joaommp (685612) | more than 5 years ago | (#29407313)

How will we manage to use this? Programatically by Javascript, right? Javascript is so limited that I fail to see how it will be to make this actually usable and applicable in useful situations except, as already mentioned before, in heavier and more intrusive advertising schemes.
I understand that many may have been craving for this, but, to make it really interesting, Javascript also needs some cleanup and some more functionality.
And, besides, I can already imagine each browser doing it in it's own way and developers having to set up multiple ways to deal with the differences.
And whatever happened to VRML and X3D? weren't they supposed to also provide such features as WebGL?

Re:How will we manage to use this? (0)

Anonymous Coward | more than 5 years ago | (#29407637)

Wait, what? Javascript is a limited language? Since when? What features are you lacking in Javascript that you couldn't write a game in it?

Just because it's got prototype based inheritance instead of class based doesn't mean that you can't code in it, only that you need to learn JS properly beforehand.

Re:How will we manage to use this? (1)

joaommp (685612) | more than 5 years ago | (#29407723)

oh, so you're just assuming I don't really know Javascript, because Javascript has prototype based inheritance instead of class based inheritance, which I actually can live with and didn't even mention. nice.

Re:How will we manage to use this? (3, Insightful)

farnsworth (558449) | more than 5 years ago | (#29407639)

How will we manage to use this? Programatically by Javascript, right? Javascript is so limited that I fail to see how it will be to make this actually usable [snip] Javascript also needs some cleanup and some more functionality.

Like what? It's a very rich language which is a pleasure to use. The historical short-coming has been it's libraries (primarily the DOM). But the language itself is really nice, as nearly anyone with enough experience will tell you.

And, besides, I can already imagine each browser doing it in it's own way and developers having to set up multiple ways to deal with the differences.

This is the case with all standards. If there are significant implementation errors, higher-level libraries will emerge that "fix" them for the users of this API. Ajax is different between browsers, is this a problem for anyone? No, there are multiple free libraries that are super-simple to use that make the right call in each browser. $.ajax({url: "foo.html"}); Just Works (tm).

Re:How will we manage to use this? (1)

joaommp (685612) | more than 5 years ago | (#29407805)

ok, I'll give you that. "the language itself", has about everything most languages do. but there are some things that in other languages you can find in libraries that you can't find in javascript. Javascript DOM, although not exactly from the language, isn't exactly a library either. If you see, it is, let's say, a javascript primitive. Several features are unavailable and unimplementable because all libraries for javascript are implemented over javascript primitives, which, although a very good set but, could take, at least, some polishing.
Yes, I know there are a lot of libraries to wrap above the browsers API's and hide the differences. But how many hours were spent and wasted creating those libraries just to support several platforms, due to the fact that the browsers sucked on the implementations, when the developers that had to create those libraries could very well be spending that time on developing the projects they were trying to in the first place, when they realized they were in for major trouble?

Re:How will we manage to use this? (2, Informative)

loufoque (1400831) | more than 5 years ago | (#29407973)

Javascript is so limited that I fail to see how it will be to make this actually usable and applicable in useful situations

Javascript is not particularly limited. It is turing-complete, of course, and provides a nice type system: dynamic duck typing on top of a prototype object oriented type design. It has garbage collections, closures, reflection...
Probably more expressive and flexible than your average programming language.

Maybe what you mean is that it is lacking a bigger standard library.
Well, as it is, it is certainly much bigger than the standard C one.

Re:How will we manage to use this? (1)

joaommp (685612) | more than 5 years ago | (#29408815)

yes, I mean it's standard functions, but it doesn't matter if it bigger or smaller than any other language's standard library. What matters is if it's complete (or near enough) or not for the job it was designed to.

Re:How will we manage to use this? (0)

Anonymous Coward | more than 5 years ago | (#29409025)

Javascript is OK as a language. It has its WTFs because it was designed as a hack, but if you avoid certain practices it's quite usable. You'll have to throw in some more parens and curlies than in other scripting languages, but it works.

Of course a scripting language is not so suitable for describing a 3D world. But once WebGL is stable and implemented, I'm sure someone will write a Javascript library for X3D, so that you can embed X3D directly in a script tag and have it rendered to WebGL. Or use COLLADA, or some new JSON3D dialect. Crash-happy, hardly scriptable 3D plugins goodbye.

Re:How will we manage to use this? (2, Insightful)

joaommp (685612) | more than 5 years ago | (#29409051)

The problem is, when will we have the chance to stop using wrappers to solve the problems caused by the divergence between different platforms, that only add additional dificulty, performance penalties, files, etc. When will developers be able to focus on creating new stuff from the start, instead of needing to first create ways to solve the problems created by others?

I'm probably not the first person to say this... (3, Funny)

MadnessASAP (1052274) | more than 5 years ago | (#29407351)

but oh god no! I can only imagine the horrors that will be visited upon the Internet once MySpace users get a hold of this.

Re:I'm probably not the first person to say this.. (1)

osu-neko (2604) | more than 5 years ago | (#29407967)

but oh god no! I can only imagine the horrors that will be visited upon the Internet once MySpace users get a hold of this.

Why are you visiting MySpace so much if you don't like what they're doing there? Alternately, if you aren't visiting MySpace, why would you care what they do with this one way or the other?

"Someone, somewhere, is doing something I don't like. They must be stopped!" :p

Re:I'm probably not the first person to say this.. (0)

Anonymous Coward | more than 5 years ago | (#29408127)

And just in time for 3D TVs to hit the mainstream, too!

Re:I'm probably not the first person to say this.. (1)

Hurricane78 (562437) | more than 5 years ago | (#29408581)

Why do you go to MySpace then? Especially with all that stuff turned on? Maybe you are a masochist and haven't realized it? ^^

It's OK. We can... uuum... accept... you... anyway... *cough*. ;)

Macs and Iphones Everywhere! (0, Flamebait)

mdwh2 (535323) | more than 5 years ago | (#29407527)

which means it probably won't be too long before Macs and iPhones everywhere get OpenGL web apps.

I hear that it might be possible for those PC things to be able to run this too, what with OpenGL being cross-platform and all. Of course, that's probably only of interest to a few of us here on Appledot.

Remember Web3D? Shockwave? Java 3D? (4, Informative)

Animats (122034) | more than 5 years ago | (#29407565)

This is about Try #4 for 3D on the Web. Web3D [web3d.org] was an XML representation of VRML. Unfortunately, the effect of the Web3D consortium was to kill VRML in favor of a vaporware concept.

3D in the browser is done well in Macromedia Shockwave. Try this 3D driving game. [swgamers.com] The Shockwave player is supposedly available on 58% of PCs. [adobe.com] Some versions of Shockwave even had the Havok physics engine, but Macromedia stopped paying Havok for the license and took that out.

The main problem with Shockwave is that it doesn't start as fast as Flash does. Flash has a nice scheme for interleaving the timeline and the asset data, so that playing starts very quickly. At least if the content is authored properly. Also, Shockwave authoring tools are expensive.

About Java 3D, the less said, the better.

The problem with offering OpenGL access to Javascript is that Javascript isn't a good language for fast matrix math. Also, authoring tools will have to be developed. You can't effectively author 3D content in a text editor.

Re:Remember Web3D? Shockwave? Java 3D? (1)

Hurricane78 (562437) | more than 5 years ago | (#29408651)

You can't effectively author 3D content in a text editor.

PovRAY and me would like to disagree with that. ^^
I found that I have this ugly feeling of everything not being at the *exact* correct position, with the *exact* correct curves, when using software like Maya or 3DStudio Max. And I can't stand working like that. It feels like dirty "spaghetti-designing".
That's why I like PovRAY so much.
But now that Maya has adopted Python as its scripting language, I must say that I'm pretty happy with that too. ^^

Re:Remember Web3D? Shockwave? Java 3D? (2, Informative)

mdwh2 (535323) | more than 5 years ago | (#29408713)

Javascript isn't a good language for fast matrix math.

The matrix calculations required for rendering are done by OpenGL, not the caller programming language (the advantage of doing this way is that it can be hardware accelerated).

Also, authoring tools will have to be developed. You can't effectively author 3D content in a text editor.

I'm unclear what sort of tools you refer to? Presumably people would use the same 3D modelling software they'd use for any other OpenGL application.

OpenGL has the advantage over the other things you list in that it's (a) an existing widely used API, and (b) it has hardware acceleration support.

3D world (1, Funny)

Anonymous Coward | more than 5 years ago | (#29407685)

Multiplatform 3d pornz coming on the way! On every device that has a browser!

It is time to split... (2, Interesting)

FlyingGuy (989135) | more than 5 years ago | (#29408701)

the web into two very distinct flavors:

  • The Application Model:
    • This is the model wherein the browser becomes an application execution environment. The box model is created as a function, menus are a function all the primitives for applications, grids, drop downs, pick lists become a function that is executed natively with the UI tools of the native GUI that exists in windows, linux, osx etc. There is no trying to flow things around with style sheets, div within div within div surrounded by yet another div. All GUI's have addressable screens and the objects created thereis stay where you put them now matter what happens to the application window that the as set up by the browser does. This is the same as the MDI model, it works, it just needs to be replicated.
  • The HTML Model:
    • This is the web as it currently exists, with all the strangeness and wonder that it is, HTML, style sheets and the like to allow text to flow smoothly, images to be included, but even this still needs work. the float:center tag needs to be implemented so text can flow evenly around a fixed image. Things likes snaking columns need to be realized in a simple for so that a tag like < column type="snake" width="30 pct" > [content] </column>. HTML has a long way to go before it truly meetd the needs of on-line publishing.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?