Initial WebGL Support Lands In WebKit
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."
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.
# cat
Damn, my RAM is full of llamas.
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.
Taxation is legalized theft, no more, no less.
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.
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.
The point is that nobody really cares all that much about what you do, as the web industry does not revolve around you.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
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.
How are sites slashdotted when nobody reads TFAs?
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.
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).
There aint no pancake so thin it doesn't have two sides.
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!
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.
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.
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?
Onda Technology Institute