3D Graphics For Firefox, Webkit 198
angry tapir writes "A group of researchers plans to release a version of the Firefox browser that includes the built-in ability to view 3D graphics. They've integrated real-time ray tracing technology, called RT Fact, into Firefox and Webkit. Images are described using XML3D, and the browser can natively render the 3D scene." The browser will be released within a few weeks, the researchers say, and they are checking with the Mozilla Foundation about whether they can call it Firefox.
Clarification (Score:3, Interesting)
Images are described using XML3D, and the browser can natively render the 3D scene.
Does this mean this technology will be used strictly for 3D images/scenes, or when they say 3D are they referring to gaming?
Re: (Score:3, Insightful)
Even more confusing, is this meant to compliment WebGL [wikipedia.org] or replace it? While I think it would be neat-o to have real-time ray tracing in the browser, the WebGL working group consists of some big names like Apple, Google, and Mozilla.
Re: (Score:2)
I dunno, but this is a field that desperately needs some kind of leadership. How many technologies have we had in this field over the years. Countless markup formats, plug-ins and APIs and we haven't gotten too far in all this time.
Re: (Score:2)
Re:Doesn't matter. 3D in the browser is stupid. (Score:5, Insightful)
WebGL/RT/HTML5 are not fundamentally stupid. VRML hype mistakenly centered around a 3D navigation model for most of the web replacing 2D textual interaction with some image content, which was stupid.
However, richer multimedia content is a fact of life now with increased bandwidth. If it were not, then flash wouldn't persist (overuse of flash was a fad that has abated a bit in favor of javascript/css mechanisms, but flash persists for video and games without viable alternatives). Various video streaming sites that are relegated to flash today for games and videos would be freed from Adobe's whims as the embedded video, canvas, and 3d capabilities are expressed in industry standard terms.
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
flash persists for video and games without viable alternatives).
The viable alternative is for video is HTML 5 video, and the viable alternative for games is JavaScript and CSS sprites [alistapart.com]. Or what am I missing?
Re: (Score:2)
Or what am I missing?
3D games.
CSS sprites are fine... for sprite-based games.
Advantages of 3D games in the first place? (Score:2)
CSS sprites are fine... for sprite-based games.
I can think of one advantage of a 3D game over a 2D game: greater draw distance than one screen-width, which in many games is about 20 m. But apart from that, what scenarios do only 3D graphics allow for?
Re: (Score:2)
Huh? What does that even mean?
"Draw distance" is the distance of the farthest object from the camera before it disappears, in game world units. For example, a platformer might put the leading edge of the scrolling view 384 pixels in front of the character, where 32 pixels represent 1 m. The draw distance in this case is 384 pixels or 12 m. First-person shooters need a long draw distance, but there are stylized FPS games with 2D graphics, such as Nintendo's Duck Hunt and I-Mockery's Kill the Dog from Duck Hunt. But the only way to get lo
Re: (Score:2)
But the only way to get long draw distances with a free-roaming camera is a 3D engine.
Ok. Yeah, that’s an advantage of true 3D.
Not all video game designs need a realistic physics simulation.
Some do. Having it when you need it is an advantage.
You asked for another scenario where 3D is an advantage. I gave you another scenario where 3D is an advantage. Of course it won’t apply to “all video game designs”.
Re: (Score:2)
For 3D, maybe you have WebGL...
Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
Re: (Score:2)
Try Canvas.
I did, and 60 percent of the time, the browser just rendered the "Get Firefox, SeaMonkey, Safari, Chrome, or Opera" text inside the Canvas element. But for those 40 percent of PC web browsers that aren't IE <= 8, allow me to rephrase:
If IE <= 8 market share ever declines, the viable alternative for games is JavaScript and 2D Canvas. Or what am I missing?
Re: (Score:2)
I did, and 60 percent of the time, the browser just rendered the "Get Firefox, SeaMonkey, Safari, Chrome, or Opera" text inside the Canvas element.
That’s odd... I guess you couldn’t take a hint? :p
If IE <= 8 market share ever declines, the viable alternative for games is JavaScript and 2D (3D) Canvas.
For 2D (3D) games, yes... and the IE <= 8 market share will decline when viable games require Javascript and 2D (3D) canvas to play.
Or when porn requires it. More likely when porn requires it...
Re: (Score:2)
Didn't VRML look and behave kind of like Second Life ? I still think both are equally stupid, but obviously some people thought it was worth taking semi-seriously. SL brought much better, dumbed-down tools to build this 3D web, but it's more or less the same thing.
Re:Doesn't matter. 3D in the browser is stupid. (Score:5, Insightful)
We realized that 3D graphics in the browser were stupid and useless back in 1995, when the VRML hype was much like the HTML5 hype is today.
There are a few differences.
VRML was never really an industry standard, it evolved from an SGI project and was adopted by a few other companies. There were competing technologies that seemed better, but were mostly closed. In any case, they required browser plugins that were large, clunky, and crashy.
At the height of VRML's popularity, there really weren't any standards for desktop 3D acceleration. Getting decent performance from a VRML browser required a pretty fast machine, and the graphics were very crude even then.
Now we have an industry standard backed by the group in charge of HTML, ridiculously fast 3d hardware on even low end desktops, and, with the modded FireFox and Webkit backends, integration with the codebase.
This might end up working.
Re: (Score:2)
How is HTML5 any more of a "standard" that VRML was?
Who cares? X3D is an ISO standard developed in an open process. http://www.web3d.org/x3d/ [web3d.org]
Regardless, what you've said still doesn't change the fact that this is generally a useless technology.
That's what people said about 3d desktops, now every major OS has some 3d elements in the UI. I don't see an immersive 3d environment in a browser, but I do see 3d elements being useful for the display of some types of data, and navigating through certain types of datasets.
Most video operations don't benefit at all from 3D graphics; they inherently need 2D acceleration.
If you can put a video on a 3d surface, you can pipe it through the GPU to speed up deinterlacing, interpolation, scaling, etc... All modern video a
Re: (Score:2)
Water... land... mountains... rainforests... deserts...
Texture maps applied to vector shapes. You don’t need a full-sized texture; they tile.
Re:Doesn't matter. 3D in the browser is stupid. (Score:5, Interesting)
We realized that 3D graphics in the browser were stupid and useless back in 1995...
...and slow! I was there when VRML was landing (just finished high school) and all I saw it used for were virtual rooms were avatars would talk in a 3D IRC like environment. Only big problem back then was we didn't have 3D acceleration and the interface was clunky and painfully slideshow like in speed.
As for uses, I could think of a few and have already started coding them. Instead of loading a PNG or GIF, it is pretty nice to be able to download a float array, be able to display it, and allow a user to interrogate it. Giving a user that kind of capability in the browser while not requiring them to download an application or a browser plugin is pretty darn nice. And while not mainstream, scientific fields could greatly benefit from something like that.
Re: (Score:2)
> Many of the Firefox developers were born after 1990
Are you saying that one of the currently most popular (and relied on) pieces of software
is being written and maintained by a bunch of high-school kids? I call shenanigans.
Re: (Score:2)
Patent trolls don't actually make anything, this guy did. He could turn out to be a litigious bastard anyway, perhaps not. But in any case he would not be a patent troll.
Re: (Score:2)
If they allow it, they're fucking hypocrites, after what happened with Debian [wikipedia.org].
Re:Clarification (Score:5, Insightful)
Does this mean this technology will be used strictly for 3D images/scenes, or when they say 3D are they referring to gaming?
Obviously and according to TFA, they're referring to 3D images/scenes. Gaming would require, amongst other things, browser-support for raw input devices, (at-least partial) server-side magic for processing interactive events. While these are definitely possible, they're not what this is about.
Re: (Score:2)
Depends on what you mean by “gaming”... a lot of games can be played with the keyboard and mouse, and without connecting to a server at all. And Ajax can be used when the server is needed.
What I find more interesting, though, is that this would reveal the source code of your game to a much greater degree than, say, a Java applet does... allowing people to perhaps hook into or modify your code in order to cheat. An attempt to create anti-cheating measures would be interesting, to say the least.
Player 2 uses what? (Score:2)
a lot of games can be played with the keyboard and mouse
Player 1 uses a keyboard and mouse. Player 2 uses what? Per the same origin policy, applications running in web browsers do not connect peer-to-peer, so communications among the separate PCs, one for each player, will have to be bounced off a server through AJAX or Web Sockets as in an MMORPG. Latency probably won't be good enough for a twitch-fest first-person shooter.
An attempt to create anti-cheating measures would be interesting, to say the least.
It would involve running a copy of the game simulation on the server and synchronizing the two instances through AJAX or Web Sockets. Then
Re: (Score:2)
Player 2 uses what?
A different computer. And yeah, you’re going to have to use a server to do this, which means you’ll have latency, and it probably won’t work well for certain types of games, which is pretty much what I said before.
It would involve running a copy of the game simulation on the server and synchronizing the two instances through AJAX or Web Sockets. Then the server can tell when the player does something he's obviously not supposed to.
Many forms of cheating are undetectable by the server. Wallhacks, aimbots, and full-scale botting... these are not easily detectable on the server. (Wallhacks are easily preventable by not sending the client the information about the other side of the wall... but preventability i
Re: (Score:2)
"As in MMORPGs"? That's what happens in all games, except a handful which actually use P2P. All commercial FPS need some kind of server, even if it's one of the players' PC (as in LAN games).
Re: (Score:2)
All commercial FPS need some kind of server, even if it's one of the players' PC (as in LAN games).
I'm not aware of anything in the Web Socket API that allows an end user to open a web socket for incoming connections. The server has to be a separately installed application, and if you're requiring the end user to install that, you might as well have a separate app for the game too.
Re: (Score:2)
But that's only required if you want to play LAN games (thus needing to run your own server). You don't need to accept incoming connections if you're playing online using the devs' server, which is how these games are going to be distributed anyway.
And even "standalone" games are starting to require internet connections even to play in LAN (see Starcraft 2).
Re: (Score:2)
Not really, you just leave the client as a glorified renderer and do all of the core game logic on the server side, like in Game! [wittyrpg.com].
Re: (Score:2)
You’d still have the possibility that players could bot.
You’re trusting that the clicks and keystrokes that the client says it received were actually performed by a player, not a bot. When the bot can directly hook into your Javascript functions and the objects in your 3D environment, it’s significantly easier to build than it would be if it had to capture screenshots and scrape the information from those. So you’d naturally want to detect and/or avoid these sort of hooks. (Randomizi
Re: (Score:2)
Interesting.
Lots of security issues, to be sure: I assume you’ll have to explicitly specify which devices a page can access. (Like Flash, which prompts you before accessing your webcam or microphone.)
oh great. (Score:2, Insightful)
so this means that in the near future ill have to have quad sli pci-e cards with 1tb of ram and a few extra powersupplies to render all of the popup/under/over/through ads.
but really, someone educate me... why would anyone find 3d rendering in a browser useful? its almost certainly not going to be able to compete, quality wise, with any recent high end graphics renderings (lightwave/maya, etc)--- and with modern compression schemes and encoding formats and everyone having broadband, why wouldnt someone just
Two word (Score:3, Funny)
Porn ography.
Re: (Score:2)
Oh. Yeah. OK, now I get it. Up until this moment I couldn't see any possible reason why anyone would want to do this other than to burn some VC money.
Now I realize this is the next big thing.
However it won't take off until some lame non-porn apps use it somehow, so we can justify having it installed on our machines. Once that happens, people will use it like fornicating monkeys.
The parent is marked "funny", but I'm completely serious.
There fixed that for you.
My wife is a personal trainer. She has her clients do this exercise called "fornicating monkey". Do a deep knee bend, and then grab the back of your ankles. Now repeatedly squat lower.
No. I don't have any idea what this has to do with the subject at hand. Just thought it was funny.
Re: (Score:2)
It could be interactive, respond to mouse clicks....etc.
Re: (Score:2)
Re: (Score:3, Insightful)
Sounds very futuristic, really cool. What would be the next step?
I know: 3D chat rooms! Or even better, chat rooms are sooo 20th century: let's make a 3D social network! You would create your own avatar, purchase a house, meet with friends... It would be like a second life, but online!
Removing my tongue from my cheek for a second, if that's the usage it will get, I can't see how it would succeed when VRML failed doing the same (albeit slower) 15 years ago.
Re: (Score:2)
How about just a 3D product model when you're looking at a new widget? A 3D map of where a place is? Hell, just simple games in more than two dimensions? There are lots of places where 3D can really enhance information. It doesn't have to take over the entire interface like with Second Life and how VRML was positioned.
Re: (Score:2)
Sheesh people, it's not like we're speculating about something totally new here. There are lots of popular 3d web apps [miniclip.com] already (such as this game, which should make the point of "why render in the browser" obvious). This is just a new language for doing it.
Re: (Score:2)
Why would you want to play a 3d game in your browser when you could run a native app instead? Why should we use the web for anything other than hypertext, when a native app will always work better? All this is doing is turning your web browser into an OS, but you've already got an OS. More layers of abstraction means more bloat and more bugs. No thanks.
Re: (Score:2)
Because I don’t want to run a .exe that I downloaded off the web from some site that I don’t trust.
I trust my browser to put a layer of abstraction between the code and my computer that will prevent it from doing anything malicious. This is not always completely safe, but it’s safer than running the .exe.
Re: (Score:2)
Um, yes, it is. You can have 3D “vectors” just like you can have 2D ones. And even if they’re doing a perspective projection in software, it’s still 3D.
Re: (Score:2)
It's a nice operating system, with serious hardware requirements, it just needs a web browser.
Re: (Score:2)
but really, someone educate me... why would anyone find 3d rendering in a browser useful?
porn
Re: (Score:2)
Dont you get it ? We are re-writing an operating system to fit into a browser.
True, it's an inner platform, but advantages of an inner platform include portability and privilege separation.
No love for VRML (Score:5, Insightful)
We've had 3D graphics for YEARS in browsers. It is called VRML and it is a standard that has been with us since the early days of graphical browsers.
But the real question is who in their right mind will develop anything as ephemeral as a web page with this complicated technology? The time investment involved to come out with even the simplest of models is enormous. Maybe not John Pinette enormous, something smaller like Louie Anderson enormous.
Re:No love for VRML (Score:4, Funny)
Re:No love for VRML (Score:4, Insightful)
Just like Second Life, the 3D web is not something people actually want, but more something which makes sense to old fashioned journalists who write for old fashioned media.
They think it sounds great. Looking at pretty things instead of reading boring stuff is in their eyes the ultimate evolution of computing. That's why you keep reading this sort of stuff all the time. But it will never stick, because in reality, it's just not very useful.
Re: (Score:3, Interesting)
The way I see it: If there was real use/demand for it, it would be here already...
Re: (Score:2)
Re:No love for VRML (Score:5, Insightful)
The 50K people logged in [secondlife.com] right now would seem to disagree. Right now it's a fairly low activity time, should go up later. And from the inside it seems to be still getting larger.
I see it in a different way. Not everything has to be a revolution. Back when there was a lot of news about SL there was a lot of hype for sure, but there must be some use to it, since it didn't die when it stopped getting talked about so much. Some people see no point in SL, that's perfectly fine. I see no point WoW either, but that doesn't make it a failure just because it fails to appeal to every person on the planet.
I think this will be in the same way. Uses will be found for it. It won't be a revolution that will change every website everywhere. Not everybody has an espresso machine, and not everybody is going to have 3D on their website, but that doesn't mean those aren't useful things.
Eheh (Score:3, Interesting)
50k? Oh wow. For a "site" that is available around the world, that is pathetic. A dutch only site already does 10k easily. So 50k for the entire world is nothing.
And how many of the people logged in are bots?
Re: (Score:2)
Re:No love for VRML (Score:4, Insightful)
Why does the whole web have to be 3D or not? Why can't we just make the parts of it 3D that make sense to make 3D? It's not a hard damn concept.
Secondlife is a Platform (Score:2)
as the tool chains improve and more stuff becomes stable the uses of SL will become more and more common
Linden Labs just released a public beta of the new SL 2.0 and i has a "Shared Media" feature that very much blurs the lines between Real Life and SecondLife.
You want to show a presentation inworld?? rez up a screen and go for it
(note for SL residents before you login using 2.0 grab the tweaks and have them applied)
Re: (Score:2)
VRML always sucked. In particular that plugins that were supposed to do VRML sucked.
Who knows if it will be any different this time around.
As for who would like 3D graphics on the web, well I would. And there are tons of 3d models out on the internet, so throwing together a simple scene shouldn't be too difficult.
Re: (Score:2)
I don't see this as a technology to dominate the web experience, but rather to enable things like running a first-person-shooter or other games, or perhaps other special-purpose applications, but games would be the broader case.
Re: (Score:2, Insightful)
I don't think that the point of 3D graphics in a browser is to build entire websites as 3D environments, but rather to have specialized sections of websites where they are applicable. For instance, fully rotatable views of items that you might purchase. Aside from being cumbersome to program, VRML wasn't nearly good enough to do something like that. This might be, however. I think that this technology, especially combined with the canvas tag, has the potential to do a lot of good for the web.
Re: (Score:2)
That's like saying "Why do we need XML when we already have HTML?" - better to ask "why not use the official successor to VRML, i.e. X3D?"
Short answer (Score:2, Informative)
No.
CPU hungry (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2, Insightful)
Expect to see amazing new exploits using the GPU.
Re: (Score:2)
Re: (Score:2)
Calling it Firefox (Score:2)
The name of the Debian version of Firefox is Iceweasel. Based on that, I'm assuming that the Mozilla Corporation is going to exercise their trademark and kindly request that these researchers think of a better name for their fork of Firefox that incorporates XML3D.
If successful, it wouldn't surprise me to see the Mozilla folks include this feature in a future release of Firefox.
Call it Cerberus (Score:4, Interesting)
Re:Call it Cerberus (Score:4, Funny)
Re: (Score:3, Funny)
Re: (Score:2)
The name "Cerberus" is already in use for an FTP server: http://www.cerberusftp.com/ [cerberusftp.com]
Dunno if they have a trademark or service mark on it, though.
It also might get confused with Kerberos by people who don't know better! :)
Re:Calling it Firefox (Score:5, Insightful)
If successful, it wouldn't surprise me to see the Mozilla folks include this feature in a future release of Firefox.
Heaven forbid, please no!
We don't need a rendering engine for every arcane formalt ever developed incorparated into a browser that's deployed on millions of desktops. Just remember, each supported protocol adds new complexety, new errors and with this new secutiry-issues that'll lead to exploits, bad press, compromised machines and painful bugfixing.
Stuff like this should never be part of the browser, it should be an addon.
No thanks (Score:2)
Not interested. What I want: rendering accelerated by the graphics card, in some way, better than (if) it is now. No more slow scrolling pages full of graphics.
Ahh, the day that comes...
Re:No thanks (Score:4, Informative)
Ahh, the day that comes...
Believe it or not, it's already landed [mozilla.org] on trunk - at least for Firefox running on Windows 7.
np: Autechre.ws Webcast (02.03.2010)
Re: (Score:2)
Indeed, but what about us who run real OSes? ;)
Might be worth trying out on the W7 machine though!
Re: (Score:2)
Looks like they are working on a Cairo backend as well.
Re: (Score:2)
Might help if the "real OSes" provided more useful 3d apis to build on instead of having to do things from scratch, no? ;)
Gallery? (Score:2)
I've searched the web but I can't find any picture of an image rendered with RT Fact. The news are repeated in various news sites, as always, but none of them has a single image of the 3d engine output.
Re: (Score:2)
Re: (Score:2, Informative)
Ok, it's a video, not an image ... [youtube.com]
Found, of course, with Google.
Searching directly on YouTube gives two further results. [youtube.com]
Re: (Score:2)
Ok, is it just me, or does that demo look really slow. Are they using any hardware acceleration for this stuff?
Re: (Score:2)
No, just the 3d rendering acceleration. I know POV-Ray runs a lot faster on my computer than this demo appears to run.
Tech for the future (Score:2, Informative)
Maybe this tech will be big when 3d monitors are out... just imagine the pop ups really poping out of your screen :)
Re: (Score:2)
Re: (Score:2)
Just imagine the Goatse...
Ray tracing vs. Rasterization (Score:3, Insightful)
Re: (Score:3, Informative)
Shadows alone are extremely complicated in a rasterizer, with special cases for self shadowing, for when the camera is within a shadow or not, when something reflective is being rendered, when something refractive is being rendered, and so on and on.
Essentially nobody has EVER made general purpose rasterizer that flawlessly supports shadows in concert with all the other 'ray tracing like effects' and it is likely that nobody e
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
You posted as anon - I do hope you bookmarked and come back to check for replies, though.
I think you misunderstood the meaning of the word 'rasterisation' here.
In overly simplistic terms... rasterisation is what your gaming card / console does whenever you play a game of Modern Warfare 2, HALO, etc. This is unrelated to pre-rendered content.
http://en.wikipedia.org/wiki/Rasterisation [wikipedia.org]
Re: (Score:2)
Re: (Score:2)
Anyway, I still want the question answered. As far as I know (and I'm a graphics researcher--though a relatively new one, so I'm still learning) real time ray tracing is really not nearly as good as rasterization in terms of quality for a real time frame rate on reasonably fast consumer hardware.
From TFA:
Re: (Score:3, Informative)
RTFact is based on a research paper from the University of Saarland. The paper describes the implementation of a generic real time ray tracing framework with source code in C++. The goal or objective is an interactive real-time ray tracer.
From the different implementations I researched (Manta from MIT, OpenRT, Arauna, RTSL, plus many more), RTFact is by far the most legitimate implementation. There are a million papers out there on interactive ray tracing, but only a few really take into conside
3d browser markup extensions since 1990s (Score:2)
I hope you can disable this. (Score:2)
I hope there's an option to disable this in the browser.
I can already imagine that the only place where this tech will get used will be in advertising banners etc.
Re: (Score:2)
Oh, I’m sure.
Actually you can already disable it, and they haven’t even finished developing it yet: ##canvas
(It’s an Adblock Plus filter, in case you didn’t figure that out.)
Working right now in Shockwave (Score:2)
Shockwave already has full 3D capabilities. Here's s reasonably good 3D scene, a haunted house. [3drt.com] Shockwave in current use; both Disney and Dreamworks have 3D promotional games for upcoming movies, and Porsche has a car configurator. It's possible to do a reasonably decent game in Shockwave. Unfortunately, Shockwave seems to be associated with crap sites full of ad-heavy low-end games that keep trying to download additional plugins.
A big downside of Shockwave is that, unlike Flash, the whole file has to
Re: (Score:2)
It’s a plugin.
It’s associated with crap sites full of ad-heavy low-end games that keep trying to download additional plugins.
The whole file has to load before it starts.
You spent a significant portion of your post explaining and excusing the very flaws that make Shockwave an undesirable solution.
A big downside of Shockwave is that, unlike Flash, the whole file has to load before it starts. It lacks instant gratification. Did the XML 3D crowd deal with that issue?
It could be done in the same way that web applications are currently handling the issue.
Google O3D? (Score:2)
http://code.google.com/apis/o3d/ [google.com]