Forgot your password?
typodupeerror
Programming

Why Hasn't 3D Taken Off For the Web? 320

Posted by samzenpus
from the adding-some-depth dept.
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?"
This discussion has been archived. No new comments can be posted.

Why Hasn't 3D Taken Off For the Web?

Comments Filter:
  • by DKlineburg (1074921) on Monday February 18, 2013 @09:13AM (#42934375)
    I guess you might be stating my opinion; but my thought is why? What is the 3d web going to give me that 2d doesn't?
  • Wrong question (Score:5, Interesting)

    by OzPeter (195038) on Monday February 18, 2013 @09:14AM (#42934379)

    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.

  • by tuppe666 (904118) on Monday February 18, 2013 @09:35AM (#42934551)

    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
    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 ....or lets face it the only really one. SHOPPING, no more multiple static views of item.

    As I said I did this years ago for a company, it looked great, but it was a clunky implementation.

  • by TheGavster (774657) on Monday February 18, 2013 @09:59AM (#42934723) Homepage

    You're still downloading the game and resources, it's just disguised as the startup being painfully laggy, with the added fun of having to download it all again if you want to play on another machine or your browser decides to clean house.

  • by fuzzyfuzzyfungus (1223518) on Monday February 18, 2013 @10:25AM (#42934929) Journal

    I guess you might be stating my opinion; but my thought is why? What is the 3d web going to give me that 2d doesn't?

    It might be helpful to consider an analogy: "What is the 3d desktop going to give me that 2d doesn't?".

    The first stab at '3d web', the ghastly VRML horror, is very similar in spirit to the various abortive attempts at creating '3d desktop' graphical shells. As it turns out, this is an area where you are lucky to break even with what you are trying to replace, and epic failure is the rule. Such attempts have largely died, and deserved it.

    'WebGL'(as its name suggests) is much more closely aligned to '3d desktop' in the sense of 'people writing programs for this platform can expect OpenGL and/or Direct3d to be available to their programs if they want it'. This has proven to be enormously useful: lots of applications are simply impossible in anything approaching real time on affordable hardware with a pure-software render path, and the bad old days of having one variant for 3dfx/Glide, one for software, one for openGL, and possibly one or two others for oddball losers like 'S3 METAL'.

    If you fundamentally don't like this 'web-app' stuff, you won't like it any more once OpenGL ES is given javascript hooks and set loose upon the world. However, the ability to deploy as 'web-apps' applications that require 3d capabilities has the same basic set of use cases as deploying 3d applications as native binaries.

  • by Anonymous Coward on Monday February 18, 2013 @10:33AM (#42934993)

    You are misunderstanding. The goal isn't to create 3D web sites. It's about making it easy to provide 3D content for the web. Asking "do we support just 3D or do we create both 3D and 2D website" is like asking "do we support just video or do we create both a regular web site and a video website" when discussing the need to deliver video content on the web. Few people are going to argue that we replace websites built with HTML and CSS with a streaming video.

  • 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

  • Re:Headache? (Score:5, Interesting)

    by Richard_at_work (517087) <richardprice@@@gmail...com> on Monday February 18, 2013 @11:07AM (#42935359)

    Only if whatever solution is medically certified - my wife can view MRI's at home with full 3D capability using the supplied viewer, it just has a huge warning blazoned across it that says "this device is not certified for medical diagnostics".

    The systems she uses in the hospital for viewing MRI scans on have very high resolution screens that are colour matched regularly.

  • by Anonymous Coward on Monday February 18, 2013 @11:22AM (#42935487)

    MS did graphics correctly by offloading vector and character rendering to the video card. That way you could upgrade graphics with a new video card. The early 90s were dominated by these 2d chips like S3 that let Win3.1 run circles around Macs despite MacOS's advantages.

  • by postbigbang (761081) on Monday February 18, 2013 @12:07PM (#42935955)

    The demand will continue to be weak, though, perhaps forever, and for good reasons.

    3D is compelling in entertainment, but the amount of 3D entertainment media/downloads is but a tiny fraction of 2D because demand is small.

    Yes, it's compelling for modeling, be it architectural, artistic, design, engineering, medical holography, and so forth. But from the beginning of recorded history, we've successfully distributed and used 2D. That's because the added information in the 3rd dimension is useful, but in a movie or a picture, I don't need to see what's behind the tree. I don't care. There is reason in some cases, and we've evolved those cases, to give dimensionality as needed information. Otherwise, it's unnecessary and comes at an extra cost of codifying it, and storing it.

    3D is cool, no doubt about it. Immersive stuff is great. You're not going to find it on a box of CornFlakes, or as content in a James Patterson novel, or an Annie Leibovitz photo of Beiber.

Testing can show the presense of bugs, but not their absence. -- Dijkstra

Working...