Why Hasn't 3D Taken Off For the Web?
First time accepted submitter clockwise_music writes "With HTML5 we're closer to the point where a browser can do almost everything that a native app can do. The final frontier is 3D, but WebGL isn't even part of the HTML5 standard, Microsoft refuses to support it, Apple wants to push their native apps and it's not supported in the Android mobile browser. Flash used to be an option but Adobe have dropped mobile support. To reach most people you'd have to learn Javascript, WebGL and Three.js/Scene.js for Chrome/Firefox, then you'd have to learn Actionscript + Flash for the Microsofties, then learn Objective-C for the apple fanboys, then learn Java to write a native app for Android. When will 3D finally become available for all? Do you think it's inevitable or will it never see the light of day?"
I suffered through the VRML list back in the day when people first wanted to make 3D cyberspace.
There's a conflict: you either model 3D functional worlds, or the underlying structure, or you create a language which can draw things in 3D.
The problem with the latter is that it's not stand alone, but requires people to come up with an intersection of code, resources and aesthetics.
What people actually need is the former, which is the ability to create functional 3D models and describe them in a language like HTML, and have the browser itself create an interactive world from that.
Futurist Traditionalism
Unless it's supported in Links I'm not going to use 3D...
Why should take off? What's the drive behind it? What need does it satisfy?
You can't push out something without a market. Flash created a market for 2D web graphics, and now HTML5 standardizes that based on the experience we had in the Flash years. Unity is doing the same thing for 3D, but it will take a while before 3D on the web becomes common enough to need standardization.
3D will come when it's worth a damn. Everything 3D is either FPS or gimmick. There are a few tiny edge cases, but everything else is FPS or gimmick. Given how much more 3D content costs to create and how tough it is to do well (only FPS and a few edge cases), it's not worth the trouble, kind of like 3D tv's.
It'll be a niche market at home, initially attracting those who like to acquire the newest shiny tech just to have it.
Happiness in intelligent people is the rarest thing I know.
Ernest Hemingway
There are competing infrastructure proposals for how to get 3D onto the web, each of which has buy-in from some but not all of the major vendors. As a result, 3d hasn't taken off on the web because there's no widely supported standard.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
The question should be ..
What is the compelling user experience that would be enabled by 3D?
And what do you really mean by 3D? Do you mean projections onto a 2D surface of a 3D model? Or do you mean something like the spinning displays that render voxels that you can actually walk around? Because a genuine, cheap, ubiquitous 3D display would open up all sorts of possibilities.
I am Slashdot. Are you Slashdot as well?
First of all, it's NOT 3D. It's fixed optical stereo. Which leads to headaches due to many bad cues for your visual system, and only barely looks 3D if you hold still and pretend there's only one fixed viewpoint in the world. Which isn't true, and under the circumstances of pretending there is, you lose a great deal of interesting visual information. You get one view out of a huge number of possibilities.
Secondly because real 3D is hard; consumers don't have display devices for it yet.
Third, because real 3D is extremely data heavy at some point in the process; even if your connection was fast enough to get your POV out to the server and the server and connection fast enough to get the data back to you, the server still has to cough up a lot of data that's different every time from a very large base. If the display device is doing the job, it has to have all the data, all the time.
It's NOT 3D. You have been marketed.
I've fallen off your lawn, and I can't get up.
...because 3D on the web is- and always has been- one of those things sounds cool and cyberpunkish when seen in a film (*) or imagined, in reality it doesn't really add *that* much to the online experience and people just aren't that bothered about it in real life?
Remember the Second Life hype a few years ago? The media went on and on about that, but how many people actually used it when it came to the crunch? Relatively few. I never did, despite the fact that 15 years before I'd have thought the prospect of interacting with people all over the world in a virtual reality would be the coolest thing ever.
(*) They had pretend 3D graphics in the "hacking" scene in Cool Science in 1985, so this association has been around a long time.
I don't think it will take off anytime in the near future. The way that we interact with computers is so ingrained in us that the 3D paradigm is just to foreign for the average user. Sure, movies make it look cool and easy, but out side of gaming and CAD, there just isn't an accepting market. Meanwhile, if you do want to get into 3D development (dons flameproof suit and hunkers down for the inevitable explosion), Flash is still a viable option. Using the Air platform you can target Windows and Mac desktop, Android and IOS (as apps), and with little to no code change, also target any browser that still has the Flash Player installed. At the moment, that's the best option for developing 3D and hitting the highest number of platforms. However, expect much hate and discontent from nerds and fanbois when you mention developing anything in Flash.
It is! It's called Unity
Because people will start abusing the hell out of it.
The Web is already as bad as it gets.
I seriously hope it takes as long as it takes.
You could do all of that and get crappy 3D (except for maybe the last one), or you could just write something in OpenGL and compile and run it anywhere you want natively. If there was a demand you could even skip the compiling (there are JIT OpenGL compilers). Why must we shoehorn every last thing onto a platform that was meant to display text?
It was bad enough coding for web in the late 90's with the differences between the few different browsers that are available. With the plethora of technologies that are running, I'm glad I'm out of it now. However, the future will probably be with the browser being passive, simply showing what some remote system feeds it (even if that remote system is running locally) rather than having its own 3D engine.
That's how I see it, anyway.
3D is a passing fad generated by the media companies to try and push more units. Consumers haven't picked up on it as they hoped, and the web is unlikely to do so either. The real future is in higher definitions and larger screens.
And anyway, who needs 3D when you've got this? https://github.com/404.html
Oh, I get it. Like a tesseract. Everyone else sees it as smaller on the outside than it is from your POV.
I've fallen off your lawn, and I can't get up.
Until very recently there was very little use for 3D for most people. Those few doing CAD, and some games were the only users, and they are not enough to bring 3D into the mainstream.
However we now have relatively low cost 3D movie cameras and 3D printers are also beginning to become common. I think 3D will finally start to take off.
...it hasn't taken off in TV, video games (how many people with a 3DS just leave the 3D turned off all the time? I do), or even in movies aside from a few isolated successes. Because it's inconvenient, expensive, and doesn't add anything really compelling.
If JavaScript API can sucessfully become universally supported then why not WebGL code which is essentially supposed to be written in JavaScript. The interpreter should take care of underlying platform. Solution is simple but we can't expect Microsoft to throw away DirectX syntax for a better cause.
Yes, yes, this is it. Every day I am thankful that my life consists of no more than navigating a 2D space. WTH would you *do* with a third dimension, anyway?
I've fallen off your lawn, and I can't get up.
You have seen the 3-d of the movies. just imagine the headaches you could get with 3d on the web. Funky red/blue,grainey fuzzy all the factors that drive migranes.
The first sign that 3d would work nice would be a modern porn shot in the 3d. Make those tit/and appendages into real looking, not imaginary appendages. But there is the reason, porn has not addapted to 3d in a fun way. And I could not imagine the size of the screen to show it lifesize, which prn, demands.
I get it! I finally get it! String theory is just physicists turning it up to 11 !!!
(I admit I actually have replacement knobs on my Fender twin that do go to 11...)
I've fallen off your lawn, and I can't get up.
3D can be very handy in architecture, or sculpting, or engineering
However, current crop of browsers just ain't there yet, for the power of 3D to shine
Muchas Gracias, Señor Edward Snowden !
Just from an economic perspective, I don't see it happening other than with a few big players with big budgets. Once you start talking about 3D programming, you're pretty much writing games or at least simulations or scenes like games. A more rational approach would be to create a branded stand alone game instead of trying to hack flat media into a 3D world. I'm reminded of all the terrible simulated "3D" interfaces that educational games tend to have.
3d hasn't 'taken off' for television or computer games (or really even movies) despite million$ in promotion and efforts to sell new hardware.
3d is really a solution in search of a problem, particularly on the web.
The fact is that 3d today badly suffers from perspective and quality issues, and most consumers see it as pointless fluff.
In my own narrow perspective (see what I did there?) I have minor amblyopia so I TRULY don't care (obviously, I'm part of a small minority with this). I *can* force it so I can see things in 3d without too much effort. Nevertheless, I've occasionally gone to 3d movies and been totally unimpressed.*
*an experience shared by my binocularly-functional friends.
For movies, it's astonishing to me that they'll spend dozens of million$ on meticulous art design and set work to make sure the slightest detail is accurate in a film, and on imax theaters with fantastically comfortable seating and near-perfect sound...and then present it in a format that suffers badly from ghosting, bad lateral/peripheral perspective, and force the audience to watch in tremendously uncomfortable disposable, usually scratched-to-hell 3d glasses.
-Styopa
Why should take off? What's the drive behind it? What need does it satisfy?
I sold medical hardware through the web using a 3rd party plug-in 10 years ago, and it was wow. Here is a small list ....or lets face it the only really one. SHOPPING, no more multiple static views of item.
Education - Planetary Systems, Engines, Inside Human Body
Lets Break out of 2D - Streetview 3D...or walk where it is unsafe...Warzones, Mars...or even oil rigs safety training
As I said I did this years ago for a company, it looked great, but it was a clunky implementation.
There are a few tiny edge cases
What's with this recurring meme that I've been seeing on Slashdot lately that edge cases should be ignored? If everybody has his own edge case, then why not allow something that handles all the edge cases acceptably?
but everything else is FPS or gimmick.
True, one of the first video games with a 3D perspective (Battlezone) was the ur-first-person-shooter, but 3D games in other genres have been popular since the mid-1990s. Or is every other video game genre "gimmick" and "few tiny edge cases" to you? I'm not getting what you mean by "gimmick"; in the circles where I hang out, "gimmick" refers to a 2D platformer for the NES published by Sunsoft with a design aesthetic similar to that of the Kirby games.
kind of like 3D tv's
The "3D" in "3D TV" and the "3D" in WebGL are two different things. WebGL just defines a way to project 3D geometry into a display plane. This display plane may or may not be presented with binocular separation, which is what the "3D" in "3D TV" and "Nintendo 3DS" means.
Didn't VRML already proof that noone needs content that is hard to create and carries no additional information?
I can teach a 4th grader to create simple, but complete and useable websites in notepad. Even creating fancy websites is easy with Wordpad, Joomla, Frontpage, Dreamweaver, you name it.
But did you ever try to create 3D content? And it's definitly not the lack of tools for creating it.
And what kind of content would you expect in 3D anyway? Back during the VRML hype, the standard rationale why you need it were either games or 360 degrees product views. Add 3D-charts if you want. And now look at the most frequented websites today: In what way would Facebook or Twitter and whatever webmail client you're using need it?
bickerdyke
I don't see why we would need pages of information to incorporate 3D elements. The only two uses I can think of are games and gimmicky UI / animations. The former would be better served via native code with a browser plugin (e.g. Unity3D) or a virtual machine (e.g. Java applets). The latter - gimmicky animations - we could probably do without.
A better use of 3D might be to use XML/HTML/HTTP type technologies to model virtual worlds that can be linked together in the same way we link pages together with anchors. We already had this with VRML and it didn't take off. It might have been ahead of its time, as bandwidth was much lower back then and hardware 3D acceleration was less common. I'm not convinced, though.
Noninteractive "geometric projections of 3d scenes onto a 2d viewing plane", such as Mona Lisa, can be done server-side. Interactive ones, such as Quake, can be rebuilt for each client platform. True, duplicating effort for each client platform poses an entry barrier, but I can think of a few Slashdot users who regularly post comments showing a desire for entry barriers for anything interactive in order to protect end users from having their time wasted by a glut of novice productions.
You don't have to use the languages the story states for the various platforms. You use C++ or C and OpenGL for the library and use the same code for all 3 platforms. I know because I've done it.
Better known as 318230.
Precisely. What do I want to do with a *virtual* 3D space? Or, what do *I* want to do with a 3D space.
Simulation of virtual spaces, games, showing 3D objects.I think this is what 3D might offer. Until now, quite poorly. But not a great deal of need for me to do that. I suspect for most people it's just not a bit deal. So there's no money in it. How's the income on your Second Life store these days? Selling many sports shoes / domestic electrical goods / holiday packages to Australia? Why *don't* 3D spaces work?
For the majority of the time, I use the web as an information gathering and dissemination environment so 2D is just fine. Searching for journal articles just works better in text, don't give me virtual bookshelves to fly around, they don't give me any advantages. Posting messages to my professional colleagues works in text. Finding out about the weather works in 2D graphics. I think people need to see some advantages that they can't get from 2D or in any other communication format to take up 3D.
I've played around with 3D spaces since the mid-90s (SGI Indigo2 can do 3d graphics! let's experiment!) up to having a go at Second Life a few years ago. The big question in my mind has always been "what does it give me that other formats don't give me?". Up to now, I've not seen the "killer app". Any thoughts on what it might be? I am still racking my brains. For an engineer building models, yes, but for general users... I am still looking.
I live in a real 3D space and interact as embodied being in this space. You are correct, I can conceptualise this kind of environment. But I do so because I have to, and it doesn't mean it's ideal for some tasks. If I could avoid long haul flights by pressing a button rather than catching a taxi, sitting on a train, waiting in an airport, sitting on a plane for 12 hours - great! You and others who believe in 3D need to come up with the advantages over 2D.
Every day I am thankful that my life consists of no more than navigating a 2D space.
The everyday life of the majority of people has a fractal dimension far closer to two than three. When you navigate the real world, you navigate in a plane, with one dimension north and south and the other dimension east and west. Even when you go up and down, it's typically in discrete units called "floors" or "stories" (spelled "storeys" in the Commonwealth) which can be regarded as separate planes.
Because there aren't yet helmets such as those in Sword Art Online
How about a 4D space-time interweb? Where we can travel through space and time, fight gladiators, ride dinosaurs, wrong our rights, and vanish in a poof of temporal paradox
or you could just write something in OpenGL and compile and run it anywhere you want natively.
Running something natively generally involves crossing an end-user permission boundary. Remember ActiveX? Furthermore, more and more often, running something natively requires gaining permission from a multinational company to whom device owners have delegated the power of curation, such as Apple or the game console makers.
Why must we shoehorn every last thing onto a platform that was meant to display text?
Because it provides a sandbox such that the permission boundary of downloading and installing a native application is not necessary.
Second Life was capable of subsuming the browser. But it didn't. Rasterization is the wrong way to do 3d. Of course, it was the only way to do realtime 3d until recently. This year, long before the comet hits, spasim will come online: a, or actually THE, persistent toy world.
spasim.org
http://www.youtube.com/watch?v=61ITeNlJibQ
You appear to be confusing two different definitions of "3D": projecting geometry onto a plane vs. display with binocular separation. See my other comment.
The primary uses for 3-D are content creation and gaming. The amount of content creation done on the web is limited, primarily due to performance bottlenecks. Simply put, you don't do engineering or video production or create games on the web. The other big application is gaming. That being said, consumers seem to be happy with downloading and installing games on their computers or mobile devices.
Of course the other issue is that the Internet remains an content delivery medium. A big part of the reason for limited interactivity is that content production is hard. Text is easy to do. Photographs, recorded audio, and recorded video is only slightly challenging. Yet anything beyond that takes too much effort for most end users to care about. That's true when it comes down to editing audio and video, and it's even more true when it comes down to 3-D modelling.
The main push for 3D movies hasn't been audience demand but a means to prevent people from shooting the theater screens to pirate. That isn't an issue for computer monitors so there's no real advantage. For a 3D environment Apple does have Core Animation which performs those functions but it's a lot of coding to make it work. They have some cool examples of 3D databases but until it's user friendly I don't see many applications using it. I can see it a fun way to rifle through image files and some of the new Mac interfaces use it for things like flip books for viewing items. I don't see a driving need for most applications. It's already hard enough searching for files since everyone both Microsoft and Apple decided to hide more and more files for our own good. It's still quicker and easier to do a search string than spinning file trees in 3D.
The web is mostly just textual information. There's dressing and markup. There's an isolated video embedded in the text, but mostly it's text. And text is 2D. What is everyone going to create complicated 3D interfaces for?
Democracy Now! - your daily, uncensored, corporate-free
From time to time my android hangs, when loading a webpage, even in background ... after checking why, its every time a webpage with some WebGL-experiment.
As long as it can make your browser so unstable, its better not to use WebGL.
Oh, great, another string theorist waving around his Calabi-Yau shaped penis. Let us know when science is capable of measuring your Planck length prick.
Around 10 years ago, there were some promising Web3D technologies around. VRML was easy to create VR walkthroughs with. But there was no unified VRML browser plugin - there were multiple plugins, each with its own quirks - and it was hard to create meaningful interaction with it. Shockwave3D was introduced with Macromedia Director 8.5. It was great for creating Web3D applications. It failed on 3 counts though. 1) It had no 3D creation UI whatsoever. Everything had to be scripted by hand with Lingo code, which made it a "programmers only" 3D solution. 2) The Flash crowd put a lot of pressure on Macromedia not to develop Shockwave3D further, and to instead put a 3D engine into the Flash plugin. 3) After Adobe bought Macromedia, nobody updated the DirectX 7/OpenGL based Shockwave3D engine for several years. The engine fell behind the state-of-the-art in graphics quality, and the handful of people who were capable of using Shockwave3D stopped developing web3D apps with it. --- Then there is the sorry story of Virtools 3D, now owned by Dassault Systems. Virtools had a great 3D engine, coupled with a visual-programming paradigm that was as easy to program with as connecting visual flowchart elements with lines. Virtools failed terribly in the market because the ahead-of-their-time French company that created it insisted on pricing Virtools at 25,000 Dollars a seat or thereabouts. That was so expensive that Virtools never attracted more than a handful of users, even though it featured a powerful & easy to use toolset. ----- One more case. Quest3D combined a great-looking, web-capable 3D engine with a visual programming paradigm. But Quest3D's connect-the-nodes programming paradigm was not intuitive at all. Even though it was cheaper than Virtools, the idiosyncratic, and some would say eccentric - way you had to program Quest3D caused it to fail. ------ To sum it up in a few words, the companies that WERE capable of creating Web3D authoring tools in the early 2000s made mistake after mistake, eventually causing Web3D to fail completely. Shockwave3D had no GUI for 3D work. VRML was too simple, no good for anything more than interactive walkthroughs. Virtools was great, but cost as much as a fricking car to buy. Quest3D failed on the user-friendliness front. Flash never got a usable 3D engine integrated. ---- Basically, Web3D had lots of potential as far back as 10 years ago. But the lack of user-friendly or affordable tools caused Web3D to fail. ----- Today there are powerful and easy to use 3D engines like Unity for web development. But it took way too long for it to arrive, and the Web3D market went flat - as in "flat coke" - during the years that passed without any progress being made on the Web3D tech-front. ------- Web3D may eventually come back because of another trend, and that is "Augmented Reality". But nobody knows that for certain.
Why did the chicken cross the road? Because Elon Musk put an AI chip in its head.
I think at the heart of the problem is the nature of programming 3D graphics itself. Generally, to get the performance one expects out of a 3D application a lot of close-to-machine-level optimization is required. In other words, it requires the sort of access to the machine that you normally don't want to give to web-programmers for security reasons. If you write a JOGL applet, for instance, it has to ask the user for all sorts of scary access to the machine.
Because it is, and always has been, a gimmick for motion pictures. It brings nothing of significant value to the web. Indeed, as in many motion pictures, it would likely be an intrusive distraction, detracting from instead of enhancing the medium. Now, I will qualify my words with a nod toward possible future technologies that actually work. No stupid glasses. No headaches. I fully expect that we will see true stereo-optic 3D technology effectively coupled to already existing "gesture recognition" technology. The potential exists for a dramatically immersive experience, the utility of which can scarcely be imagined. But it is only potential, so the answers to questions about why it isn't "on the web" should be obvious.
Your friendly radiologist would like to be able to solve your head pain by reading your MRI study in 3D without having to pay 6 digits for a PACS viewer. That is one legitimate, if infrequent, scenario where 3D support in multiple browsers would be welcome.
customer: I can't find the link to order your product
customer service: You need to navigate down the hall to the left.
customer: I've already been down there.
CS: Which floor are you on?
C: I think I'm on floor 5.
CS: Oh sorry, in that case I need you to go to the stairway, the elevators are down right now.
C: I can't do that, I didn't purchase the fully functional avatar.
CS: That's all right sir, we can upgrade you right now for $5.99.
Because it has no value. It didn't take off 15 years ago with VRML, didn't take off any time since then, and won't now. It wasn't a lack of standards, or slow hardware, or poor displays.
Its pure-and-simple, not the way people want to interact with their systems.
I'd be willing to bet good money that even when full-immersive, jack-into-my-skull VR is finally available, virtually everyone will be projecting virtual pages in front of them to interact with, not getting all Lawnmower Man or all "I know this, this is Unix". (For you kids that don't remember the VRML hype, you may not get either of those references either... sorry.)
in my latest chrome browser webgl is slow as shit
It will always be closer and always be almost, and it's easier and cheaper to write a native app, especially for something performance intensive like 3d. The only reason HTML took off for applications was because of it solved the distribution problem, not the write once, run anywhere problem. Code signing and app stores have provided a better solution to the distribution problem.
http://en.wikipedia.org/wiki/HotSauce
http://downlode.org/Etext/MCF/
This was fun to play with back in 96
You know what stereoscopic "3d" is, but not webgl? Hint: this isn't about stereoscopic views; everything is presented in 2d.
I think a lot of people miss the mark here. The reason 3D hasn't been embraced on the web is simply that as of yet there isn't demand for it. Before industry will jump in and develop and standardize it, there will have to be enough demand. So quit complaining, take a risk, and innovate a little. Create the next big thing and create a reason.
Making flat 2 dimensional images seem 3d is really just a gimmick. I don't mind it in movies (I don't have any of the headache issues, and I so rarely see films in theater now that I'm willing to drop a couple of bucks for 3d for something big and splodey) but it's just a gimmick because it doesn't make the environment more interactive or allow you to see anything you wouldn't see otherwise.
The things that take off on the web are things that make it more interactive and that let the user do useful things. Just looking at 3d images is a neat trick, but it isn't terribly useful.
Let me take any arbitrary object, turn it around and over, see it from all angles, etc. Porn will probably show the way there - but the point is, 3d could be useful for a lot of things if it's actually done in a way to make it useful.
Since I can't tell them apart, I treat all ACs as the same person.
Computer monitors are 2D screens so any 3D rendering is merely a projection and thus requires interaction to rotated through and look at. Once we have holo displays (real ones not 2.5D with glasses or 3DS style) or holodecks the web will be 3D until then it will continue to match it's main UI system.
Snowden and Manning are heroes.
Macromedia Director was awesome (for 1999) but was ditched after the Adobe acquisition. Unfortunately most users had dial-up at the time so there was never a mainstream IDE alongside a critical mass user base with enough bandwidth to use the tech.
This perpetual motion machine Lisa made is a joke, it just keeps getting faster and faster. - Homer
Because we are waiting for corporations to bring us innovation, which will only happen if they see profit in it. That's why some areas have been moving slowly or not at all - Microsofts and Apples of the World don't see big money in it so they don't invest resources. And whenever they do, it's done on their terms, ensuring they have full control over it (case in point: jailed phones). Remember, they know the best what the consumer wants - from the consuming and profiting point of view.
Yet we do see the power of the innovation among individuals on many OSS projects, but insufficient number of people recognize that or want to join in and help out, else we'd have a real revolution of innovation.
The Web is not about profit and we do not need corporations to bring us innovation, there's more of us than them. If everyone rejected their method and embraced ours (OSS) we'd see many things done.
It is an inherent problem of majority of people not willing to learn new things, but reverting to consumerism. Alas, it's always easier to wait for someone else to do the work, or buy it at a store shrink-wrapped in a cute plastic box, than learn how to code, design or build physical things yourself.
Honestly, what is the value that a 3-D system could hope to gain? (i.e. What problem needs to be solved by making it happen?)
Advantages? Disadvantages? What's the bang for the buck?
Lot of haters in this thread. Here's another example of a great use case for WebGL: 3d printing. Use your web browser to create a 3d model. Hit the print button, and it connects to one of the 3d printing services which fedexes the result to you.
Using a web site is so much more compelling than a standalone app: no installation, easy sharing/collaboration, integration with printing services, etc. But you will want a real computer with a mouse or a Wacom pen -- an iPad app would definitely not work as well.
And it's not like a printable 3d model is going to require a fancy video card or bare metal speeds.
Are you some kind of secret moron?
Right now, there is no particular demand for a the ability to trassmit 3D because there are no 3D displays. On a 2D monitor, all you really get is inefficient navigation and an ability to hide stuff from the user.
Is it just my observation, or are there way too many stupid people in the world?
I suffer with the Intel GPU in my personal laptop, so I've long been interested in what can be done minimally. So, here's my take on "Hello World" for VR. using Three.js:
http://pulpitrock.net/walkabout/
No shaders required in the current download, but I do have a commented-out shader skybox in the source, look at index.html. A simple y-deformed terrain mesh from a grayscale heightmap, water is just a phong-material mesh, no extra texture. I got the character and basic keyboard/mouse event handling from another Three.js example. In fact, most of it is copy/pasted from other available examples, my intent being to round up the minimum needed to produce a rudimentary 3D VR for subsequent enhancing.
It will do multiplayer with a broadcast-repeater websocket server, which I have turned off right now because I DON'T TRUST ANY OF YOU!! I used the test-server that comes with libwebsockets, almost without modification.
WASD keys make you walk around, as do the arrow keys. Drag the mouse around to rotate your view. t-key immediately transports you to the highest point on the island, otherwise you have to walk everywhere. c-key toggles character crouch/stand. x-key toggles websocket connect/disconnect, but there's no server running right now. Oh, I already said that.
Runs okay in FF18 and really good in Google Chrome. I have had my laptop shut down for thermal, but I was running three Chrome windows to test multiplayer...
If you want the code, git-pull it here: https://github.com/butcherg/walkabout.git
I see a lot of folks who are saying that 3D user interface is a gimmick. I think -- actually, I know --- that there just hasn't been much research into intuitive 3D user interface designs. Look around this page. Everything is rectangular and 2D. That's because memory is one dimensional, and with a wrap + offset you get a cheap 2D raster area. Nearly all user interface is directly affected by the old limitations that 2D rasterizable areas have. However, if you add another plane, or "channel" to the pixel data you can create a depth buffer which beautifully handles rasterization and/or stenciling of non rectangular shapes -- and your GPU is fully capable of doing such compositing, even on most 8 year old PCs or laptops w/ integrated graphics (my "minimum system requirements" rigs).
I've actually been doing experimental research into 3D GUIs. In doing so I threw away the 2D rectangular "window", like this text box -- Gone. I had to throw them out, they were expensive. With 3D its more expensive to have areas of rectangular windows in the scene -- "clipping" or scissor / stencil operation to prevent objects from being shown outside a rectangle of pixels. It's much cheaper to load all the 3D stuff into the GPU and let the Z-Buffer handle the compositing (after some rough scene-wide clipping code excludes larger areas you won't be able to see).
One thing I realized is that it costs nothing to tilt things vs having them directly facing the screen. This means I can react to your mouse / head / finger or even eye movement. As you move the mouse to the right I can tilt and rotate the view such that more of the user interface becomes visible. This means you move the mouse less because the 3D elements naturally move towards your cursor (rotating in the opposite direction "around your head"). You effectively get more interface area, and you can have static panels of settings or menus for example off the edges of the screen that come into view as your mouse nears that edge of the screen -- Without overlapping your current workspace (like the Unity panel does in auto-hide).
The subtle tilting seamlessly reminds your brain where those "off screen" panels are -- Unlike with many current 2D touch UIs (Windows 8, for example), which rely on you to memorize gesture locations. These 2D UIs are inferior in my opinion because they lack discoverability. They place more load on your mind. What's interesting is that I've found that folks who use multiple screens or a large enough screens already utilize their peripheral vision to "track" other information. You notice if a twitter feed updates if it's open on another screen or window. In the real world humans do this too. When we're driving our eyes are sensitive to the movement in the side view mirrors. How do you access that field of view? Simply turn your head -- or in the case of mouse driven 3D UI, move the mouse to indicate your focal intent.
I literally have to think outside the box when re-creating standard UI elements like lists -- There's no bounding rectangle needed to conform to. I can simply dim the background a bit to add contrast, and let each list item be as long as it wants to be, tilting and sliding to meet your gaze as you read the individual items; No hard top or bottom, you can simply move them into view, and they stretch off into the distance (w/ multiple Levels of Detail for the various draw distances). To overlap items I can slightly tilt one under the other, or fold panels into the scree -- where they're still visible but take up less area -- They can slowly drift to your peripheral vision to keep you aware of them and snap back into the foreground if you move your mouse or turn your head or shift your gaze upon them momentarily.
There's no reason that you can't use make creating such 3D UIs even more simple than 2D UIs like HTML. For instance, You could simply indicate a section of data be "auto-hideable" and have the user's preference automatically do whatever that means to the user. There hasn't
2D graphics provide exponentially more information at once than a command line. 3D graphics, at least for every model I've seen, provides at best incrementally more information and, at worse, less information at once. The only way a 3D interface would work is if the 3D objects have some symbolic value. If you mean 3D for the sake of FPS or modeling, then it'll happen when there is enough demand for it. I just don't see much demand for it from the general population
3D doesn't offer much more than a wow factor... a factor which wears off pretty quickly. The exception to this is in games and simulations.
Every TV and Movie production featuring 3D has been met with "that was pretty cool, but gives me a headache or was too distracting and I couldn't enjoy the story."
The best 3D appears in our heads.
If we were to enjoy a 3D production in the future, it would have to most resemble a stage play allowing the viewer to experience the sensation of being a bystander watching the thing play out. We're simply not there yet... no holograms which is just about the only way to make it happen. It won't stop people from trying and failing again and again, but I think some people get it. Effective 3D would enable people to see things from any and all angles.
The Chrome beta track for Android now supports WebGL.
And behold, a command prompt and he who sat upon it, his name was shutdown and -h 3:11 followed with him
Peep shows have always been 3D, but 2D porn Web killed them dead anyway.
The stereoscopic crap doesn't have any real use, if you put everything in focus it looks unnatural, if not, people are trying to focusing stuff they're not supposed to look at until their eyes almost burst and get a headache.
Not to mention a large minority with eye problems who can't use it anyway.
For non headache inducing 3D stuff go watch a show or a concert.
While maybe those movies seem a bit dated now, I'll point to ones like Johnny Mnemonic, in which the "3d" involved entirely new formatting of types of information. Minus a lot of the dazzle, in "today's 2d world" (to abuse a business phrase) I can basically only have one panel (however compound) of info in front of me at a time on the monitor, while everything else just has to sit there and wait to be looked at. If anything I have a "pseudo-2.5d" workflow whereupon info is organized in the following hierarchy:
Current Tab
Other Tabs in same Browser window
Other browser windows in the same "slice of desktop"
Other "desktop slices" (from a desktop splitter, I use Trandesk) which blanks the screen and lets you start all over again.
While it's a bit much for me, I think you can even run the desktop splitter a second time and add a layer on top of all of that. (My particular program makes a few mistakes but it mostly works.)
Instead, in what might be a case of "what does a car give me that a horse buggy doesn't", instead if non-text info especially were all merged into a huge multi-colored spatial layout, one "whoosh ride" through the "roller coaster" could leave you with a complete update of the state of all your info in about five minutes.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
After 20 years in IT, having heard the same stories time and time again, I'm surprised so many people still fall for this age-old mock discussion. Isn't it obvious that platform manufacturers profit by limiting the access/content developers have to their systems?
That's why: .XSLX, .DOC and .ODS still need converter software
- Sun's Java VM was suddenly dropped from Windows
- Mono is not a Microsoft product
- MS wants an app store for Windows
- Silverlight exists
- jQuery exists
- Flash is depicted as bad boy on mobile
- Xbox exists instead of enabling Windows pc's for console use
- Document formats like
- no browser manufacturer sticks to the W3C recommendations and standards
Interoperability and compatibility is bad business. It's a Mexican stand-off or Cold War between the big corporations. Nobody wants to be the loser, so it's easier to stick to your guns than to move towards cooperation.
All the mock reasons that are given why certain things are 'bad" is just to keep the masses distracted. I'm disappointed in the huge number of hipster developers that swallow this shit for truth and don't see that the advancement of technology has been hugely disabled by this war mongering.
10 years ago the 'browser wars' took up at least 50% of development time on the projects I worked on as a web dev, and now in 2013 this is still a heavy burden on many IT budgets. Imagine what we could have build if everything worked properly. All the wasted time and money, and so many still fall for the farcical discussion of why one tech is better than another...
There were quite a few VRML sites out there in the late 90's. You needed the Cosmo Worls player to view them. I used a free VRML editor called VRML Arena to build a few small scenes. I go the player from a book I got in 98, still have it but its been put away somewhere. VRML Arena worked in Windws 95 but in but 98 was missing a dll it required. Strangly in Windows XP it worked once again.
As for 3D even though VRML was pretty cool now that I look at it, why would I need 3D except for entertainment purposes? Give me a flat web so I can get my info right away.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
The differences between IE, Firefox and Webkit browsers are far smaller than the differences between Windows, OS X and the various Linux distros.
Even if you have to do something that works on both the latest version of Chrome/Firefox and the latest version of Internet Exporer available for the latest service pack of Windows XP? The best strategy I've seen to handle advanced HTML5 features that don't polyfill well is to punt and require IE 8 users to install Google Chrome Frame.
Online stores like Amazon tend to show multiple views of products. Why not just provide a 3d model users can rotate themselves?
Because most businesses selling products through Amazon.com haven't laboriously modeled all the details of all the products that they sell in Blender. In some cases I've seen while working in online toy and hobby sales, you're lucky to have a flat picture at all because the seller outsources most of its warehousing to the distributor, and these distributors don't provide pictures for all products. So how do you recommend that these sellers efficiently build a mesh of each product with diffuse and specular textures? Are online sellers supposed to depend on manufacturers to provide these models when the manufacturers would prefer that end users visit a brick-and-mortar store than buy online?
browser plugin
Safari for iOS and Chrome for Android don't support browser plug-ins.
What Johnny Mnemonic had that we still don't is a high-res HMD. I mean, they're out there, but Holy $hit. Also, useful gloves. And even then he had to do all kinds of stupid jumping jack gestures, it was a typical hollywood cariacature of what you'd really want to do.
Actually, I find it somewhat unlikely that we will ever sit at a desk and use gloves and a HMD. They're more suited for AR. You want that stuff when you're walking around, not when you're sitting around.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I can teach a 4th grader to create simple, but complete and useable websites in notepad.
Can you teach a 4th grader to make SVGs in Notepad?
But did you ever try to create 3D content? And it's definitly not the lack of tools for creating it.
At this point we're still at the stage where you have to draw your own fonts because a set of primitives to create the most basic 3D content isn't shipped with the platform. I agree that more work needs to be done, but waiting for a set of primitives before delivering a platform is like waiting for unanimous consent on the final color of the bike shed before beginning any construction.
And now look at the most frequented websites today: In what way would Facebook or Twitter and whatever webmail client you're using need it?
It's not Facebook or Google+ or Twitter or webmail itself that needs to be 3D; it's more about what you Like or +1 or tweet about or Send Link.
For most people, probably not a lot. However, there are some forms of data that can be better represented in 3 dimensions.
That said, a lot of those can still exist as Java plugins etc. Yeah, Java has security issues right now, but if we stack too much up on the web layer we'll probably see similar issues/bugs there too.
Really, for a 3d web-browsing experience to be useful, first we need a readily-available true-3d display (as in, hologram etc) to come around.
And how does your library run on BROWSERS on all 3 platforms?
It doesn't. The server uses the user agent to determine which platform the user is on and sends a link to download the native application compiled for the appropriate platform. Then the user uses the browser to download the native application and installs the native application on his computer.
You use C++ or C and OpenGL for the library and use the same code for all 3 platforms.
That covers Windows, Mac, and Linux. But then you have to replace your computer with a Mac to test the Mac OS X version of an application, or if your current computer is already a Mac, you have to buy a Windows license to test the Windows version of your application if you didn't already have one to test your site in IE. And you also have to convince end users to trust, download, and install your applications, a barrier that a web application doesn't have. And on mobile, you have to buy one of each platform to test on, you have to pay per platform per year to target anything but Android, and Windows Phone doesn't use OpenGL at all.
WebGL is just another relatively insecure API, offering ways to snatch a virus from web porn adverts; give it 5+ years, until it has either been replaced, or made secure, before you see proper use of 3D on the web.
Why would you need 3D for the Web?
3D on the web is waiting for the killer app.
There is a huge amount of 3D CAD data out there. Engineers use 3D apps like Solidworks to create and assemble products. It is not difficult to see that someone will want to make that data available to potential customers. CAD users currently download models of components and assemble them to create custom machines that are fully worked out before the first part is purchased or even seen. 3D laser scanners are getting cheaper. Software exists that can build 3D models from 2D photographs. So the data exists. The question becomes "why and how do we display it?"
This will happen just like video-on-the-web happened. The YouTube of 3D will appear, and be hailed as the next big thing by the press. Fear of missing the next-big-thing will drive a lot of CEOs to jump on board - just like the all the companies that had catalogs-on-CD, then web sites, and now phone apps.
Place nail here >+
http://www.nme.io/ cross compiles to most desktop and mobile platforms and has additional features like UDP sockets.
Comment removed based on user account deletion
A way to bring 3D to the next level will be to make 3D authoring fundamentally more accessible to end users. Imagine, if 3D authoring would be so simple that kids without any modeling and programming background could make their own 3D games and run them in browsers. Unfortunately, the 3D authoring tools that we have are mostly aimed at professional 3D creators. These are great tools but have typically steep learning curves. What we need are Casual 3D Authoring tools. We have explored new ideas of casual 3D authoring and have found that is many cases it can be just as simple if not simpler to have kids make 3D than 2D. As part of the Scalable Game Design project we are running a study with over 10,000 (mostly) middle school students learning about computer science through game design. We have started to use AgentCubes, our Casual 3D Authoring tool, to see if students are motivated and capable to make 3D games. The answer is yes and yes. Look for the 3D games built by students here: http://scalablegamedesign.cs.colorado.edu/arcade/
This shows how the tools are used but we have also a 100% Web-based version. And, yes, there are free versions: http://www.youtube.com/watch?v=2GWcb3aG2w0
Do shadows and glossy reflections still fool these automatic model builders?
This is about rendering 3D graphics with hardware acceleration, you know, the stuff that your video card does. Until recently, to get 3D rendering in a web browser you had to either use a proprietary plugin like Flash or Unity, or rely on slow software rendering. WebGL is a developing standard for giving web browsers an implementation of OpenGL ES 2.0. It can be used for 3D browser games, charts, etc.
Apparently wizard is not a legitimate career path, so I chose programmer instead.
it's a stupid idea, just like most of web 2.0
Huh? Visual FoxPro was killed well into the windows era, mid 2000s. Huge chunks of the code wouldn't work with 64 bit systems they had no reasonable porting strategy. They would have had to do a rewrite and they saw no point in a rewrite. The strategy they had been pushing for years was using SQLServer for the backend and using industry standard communication protocols for the client often written in Visual Basic. This had nothing to do with graphics but rather Microsoft's embrace of 2-tier (and later n-tier) architecture.
With more and more touch devices, 3D offers a new and easy way of presenting data to the user and would allow innovative ideas of programmers to be implemented...
In my opinion as a professional software engineer a uniform support of 3D software on handheld devices is inevitable!
I never understood why when MS won't support a standard, it holds everyone else back?
Put it out there, and if people want it, they'll have to do what they should have done a long time ago and stop using IE. (Probably IE6 for a lot of them.)
If it is something people want, and MS won't support it, they will lose share. Or they will wake up and support it.
We can only hope.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
Web browsers are already very difficult to secure, and adding a hugely complex 3D composting engine is not going to help things. John Carmack even tweeted about this: I agree with Microsoft’s assessment that WebGL is a severe security risk. The gfx driver culture is not the culture of security.
I read the internet for the articles.
Honestly the list of good uses of 3D in apps is quite limited. There's certain apps that cry out for the ability to do 3D rendering such as games, or science apps, but the reason it doesn't "take off" is because good 3D is -hard-. Remember the vast majority of the web doesn't look all that nice or well designed even in 2D. Adding 3D models to everyone's tumblr blogs isn't really going to accomplish anything. The groups that need 3D rendering abilities to fill their needs will already do what they need to for it, whether that's Flash, native apps, or whatnot.
...I am in no hurry to "jack in," and neither are any of the users of my sites and apps.
If there is no direct, usable need for it, then it is just a Sci-Fi toy.
I am working hard to craft usable interfaces using 2D. 3D will send a lot of my users screaming into the hinterlands.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
Duh.. the crash of 2029 hasn't happened yet. That and a nasty patch of BlackIce fried my cyberdeck when I was doing a run against the Lone Star Security Services to free this rigger I need for another run.
Chummer.
Source book
Is that it is a threat. Webgl means that ppl can easily make 3d cross-platform browser-based games. Apple, microsoft and the like don't want this because it means they cant lock you in to their platform and app store.
Let's take a website like amazon as an example. It would be great to be able to look at and rotate 3D models of any item for sale around, look at them from any possible angle, or even take a look from the inside! The problem is, it is still much too hard and time-consuming to generate such content. You can take multiple 2D photos of an object of any size from many different angles and upload them in a matter of minutes, whereas you need whole days to generate the same content as a 3D object that you can rotate, pan and zoom.
Just having a framework that adds the 3rd dimension is not enough, you need someone to program the content, since 3D scanners do have limitations (size, cost etc.). And in any case, 2D won't be going anywhere because it will always be good enough for most cases.
I've been looking into this to make Qt's QML web-friendly. There are utilities to convert exiting 3D apps to JS/WebGL. However every single one fails at texture upload. All the textures are needed before hand to have any part of the UI. It simply cannot be done over the pipes we have today in a reasonable time. Maybe if we could use some download agent to get the textures local and keep them there we could overcome this, but there is still a significant first time start-up delay. Aint nobody got time for that!
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
libGDX, built on top of OpenGL wrappers for java called LWJGL, supports all desktop platforms, android, HTML 5, and iOS support has just started to be implemented. Have I missed any? They're still working on full 3d support, but all the 2d stuff works great and it's fast and elegant.
Short answer: What you're looking for isn't quite there yet, but it will be.
...If WebGL becomes part of the HTML5 standard AND a low level audio (buffer/bytes level) API is included YOU WILL SEE A REVOLUTION.
People and platforms will be forced to support WebGL and WebAudio (for example) because they'll simply be left in the behind. Tight audio control is crucial WebGL and low level audio? AWESOME combination.
Loading...
Most common GUI behavior could also be put in some kind of HTML-like markup. JavaScript+CSS+DOM is a P.I.T.A. Let's fix web GUI's first, and THEN worry about 3D.
Table-ized A.I.
I've been involved with the 3D-browser market since before VRML. Does anyone remember the Superscape VRT, Visualizer plugin, and the Virtual World Wide Web? The VWWW was a linked 3D world, spanning multiple websites - you could walk from one site to another in a virtual world, back in 1996 or thereabouts.
There's a problem with the economics of 3D content, but in my view it is beginning to shift.
On the one hand, creating 3D content is hard. There's a lot more effort in creating a model of a toaster for an online catalog, as opposed to taking a photo (even a nicely lit, airbrushed, professionally produced one). Time means money.
On the other hand, there is your market. VWWW required a rather hefty download - about an hour on a 28.8kbps modem - and a separate installation process. This limited the number of people who could see the content.
The tools for creating 3D content are also getting more available, and more automatic, and more pre-built models are available than in the VRML days.
WebGL has the possibility to crack the audience side of the equation. Three of the big four browser manufacturers are behind it. It just needs a very successful browser game to force the hand of the fourth. What if the next Minecraft was a browser game?
3D will never replace 2D. But it will become a useful tool alongside it, just as video and Flash do today. WebGL will be an important part of that process.
Sean Ellis
Follow OfQuack's antics on Twitter.
because there are already 3d solutions out there that work perfectly, and adding complexity into browsers is never a good idea. i can only imagine how easy it will be to crash a browser and remotely execute code after the first wave of buggy implementations hit our already insecurely programmed browsers. RIP opera.
Good 3D uses vast amounts of energy. On the other hand, web apps are the least efficient software ever created, passing through multiple abstraction layers that mean vastly powerful CPUs are required to run even the simplest tasks at an acceptable rate.
Browser logic is so screwed up, there was even a serious debate as to whether it was 'right' for browsers to display video by using the inbuilt H264 (MPEG4 AVC) hardware built into most modern computers. It is scary to KNOW that the majority of open-source advocates demanded that browsers ignore the hardware, and instead use infinitely less efficient software CODECS for much more primitive video encoding.
Sane people want web apps to use OpenGL ES 2.0/3.0 directly. The looney tunes open-source leadership want web standards that NEVER respect the users hardware. The excuse (and it is an excuse) is 'security'- even though nothing is less secure on your computer than the browser. Even browsers with so called 'sand-box' tech have zero-day exploits that bypass the sandbox. What a remarkable co-incidence.
Convoluted software built with infinite dependencies that functions through so many layers that no-one can ever trace it properly is a hacker's (and intelligence agency's) dream. Clean and straightforward software is a hacker's nightmare. Web software is thus the ultimate in insecure coding.
Now even the simplest tablet is tending toward 1GB+ of RAM, we do not need the web tech to be 'clever clever'. Apps can bring in their own code to do the heavy lifting, as they talk to the hardware through direct APIs. What excuse do new web techs have for NOT providing direct access (where appropriate) to things like OpenGL ES? I do NOT care if a sea of losers whine day-and-night about so-called 'binary blobs'. These so-called 'binary blobs' are so tightly coupled to the hardware functional blocks, they can be considered as part of the same- and no sane person calls for open-source HARDWARE blobs, do they?
You lost all credibility when you used the term "fanboyz".
Smoke less weed and post more videos.
I have to reply as AC, because I'll be damned if I'm letting my mods get nullified. Hopefully you'll still see this.
When you describe the part where moving your mouse means more of the UI gets moved into view, and how each element doesn't necessarily have to face directly toward the viewer and instead can be tilted, I can't help but think that what you're doing is projecting a 2D interface onto a 3D curved surface, such as a cylinder or a sphere, with the user looking at the 'inside' (concave) part of the surface.
If that's not what you're doing - or, heck, even if it is - please do make a follow-up post with more information. I tried the http://project-retrograde.com/ site, but that seems to contain mostly older content geared toward a more traditional 3D game.
HTML took off because it was an easy way to put textual data on the internet in a way lots of people could then view. Thus Netscape displaced the CompuServ's and AOL's. HTML Forms took off because they let you buy things on the web without a stupid plugin that only worked with a particular vendor thus Amazon became king. Flash took off because Microsoft, Apple and all the other patent holders couldn't figure out that their patents are worthless if people need to purchase a codec license for each site or video they wish to view and thus Hulu became possible. WebGL has no big driver. Their are wonderful demo's but the complexity and vendor lockin are intolerable to your average web viewer who just wants more caturday. If 3D content is ever produced in significant quality and quantity with a viable business model then people will learn WebGL. till then it's yet another standard looking for a problem.
I agree, hence my disclaimer that it seems "dated", but we're thinking forward. Since I hope we don't still want precisely the same UI in *another* 20 years, I was just suggesting that those were some of the ways more context could be added into the computing space. Another one is sound. I agree they're not here yet, but we're at the brainstorming stage. We got something good, aka the "standard desktop", the companies have a short term tactical play to go all Walled Garden, but that's gotta break eventually, and then someone will explode on the scene with something Oh-Dear-Gawd level that makes everyone wonder why we all did X for so long.
Random example: We're all still typing on this basically crazy qwerty/azerty/dvorak/something layout when it's purely intertia alone. Maybe "multi-touch" like playing a piano could get some certain functions done way faster. Then anyone with 8th grade music lessons and a year to practice like a bastard can run circles around us. I'm a hybrid peck typist - sloppy handling I know but I'm NOT "hunting" - my fingers are typing this from muscle memory to produce letters. There's no reason we can't get whole words and even sentences in there with a multi-touch UI also including the gloves, which powerfully feature two gestures at once.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Like There.com, and you'll see why it hasn't "taken off"
Interacting with stupid people, trolls, and retards in 3d just plain sucks.
Why would advertising and marketing suck any less in 3d than it does in 2d?
There's only just so much "immersion" people can tolerate.
Taodyne delivers Tao, a 3D dynamic document description language which is quite a departure from HTML + WebGL for building 3D contents.
Based on our experience, here are some of the key attributes you need for good 3D to take off on the web:
* Device independence, like PDF or HTML. 3D does not just mean 3D models, but also depth, stereoscopy. You don't want to have to care about the many 3D technologies out there, active, passive, auto-stereoscopic, holographic, whatever. Tao contents adapts transparently, and will look exactly the same on a 2D or 3D display, including 3D without glasses from Alioscopy, Tridelity or Dimenco/Philips. Of course, it degrades gracefully on a 2D screen just like PDF degrades gracefully on a black-and-white printer.
* Integration of text, 2D graphics, images, movies and 3D objects in the same 3D scene. We are very far from that in HTML + WebGL, where there is practically zero integration between 2D and 3D contents. In Tao, 2D graphics and text obey the same rotations, translation or scaling as 3D objects.
* Being able to mix pre-rendered / filmed 3D movies with real-time 3D contents. In Tao, you can have 3D movie appear on the screen of 3D model of a TV, with text on top of it, all rendered in real-time. And that scene will show correctly even on an Alioscopy screen in glasses-free 3D...
* The ability to directly read 3D assets and not just 2D assets. This is almost there for WebGL with Three.js, but still very far from the ease of use of the video tag. By contrast, in Tao, displaying a model that moves with my mouse is nothing more than:
import ObjectLoader
light 0
light_position 1000, 1000, 1000
rotatey 0.1 * mouse_x
object "MyModel.3ds"
Right now, Chrome Experiments are proud to announce "Not your morther's Javascript". We should not collectively take pride in having a web that's for experts only. We want to make things easier to create.
While the Taodyne 3D dynamic document description language is not available in browsers yet, we clearly see what we did as something that could be part of HTML6. We built it with that in mind. It's text based, and you can reference an URL in images, movies, etc. Actually, we would like nothing better than open-source the whole thing and integrate it with the WebKit, we just don't have the resources to do that at the moment. But if a good soul at Google or Apple is reading this, we can talk.
-- Did you try Tao3D? http://tao3d.sourceforge.net
When we do get real 3D display technology we're all going to be stuck calling it something lame like Ultra4D, because everyone has been too lazy to call what we've got virtual 3D (which is what it is). Every small child with a shred of independent thought is going to experience some cognitive dissonance and trust the world less, all because we're too lazy and stupid.
According to the book '3D Printing and the Next Technology Gold Rush - The Future of Factories and How to Capitalize on Distributed Manufacturing' -
"There is a fundamental shift in technology taking place, perhaps even a second CAD revolution, but this time on the server side. centralised data, computation and rendering with streamed client connections"
WebGL will become increasingly important as more and more users balk at coughing up 1000s of dollars for traditional CAD software suites. Programs like Sketchfab and Sunglass utilise WebGL for viewing 3D files, and are already squaring up with the likes of Tinkercad and Sketchup. When combined with haptic controllers, these really could become game changers in the rapidly growing field of additive manufacturing.