Interactive 3D graphics for the Web, at last

Interactive 3D graphics for the Web, at last

Summary: Two research groups say they are working on a common proposal to add advanced graphics capabilities to HTML.

SHARE:

Up until now, it is claimed, interactive 3D graphics have not been available on the World Wide Web, even though "almost all PCs as well as mobile and embedded devices already contain high-performance 3D graphics hardware to process it." Two development groups have teamed up to change that.

National Gallery of Art Photo by Joe McKendrick

In a joint press release published at Phys.Org, the German Research Center for Artificial Intelligence and Fraunhofer Institute for Computer Graphics Research report they "are working to describe computer scenes in spatial detail directly within the websites’ code."

The two teams report they have agreed on a common proposal to extend the Hypertext Markup Language (HTML) to include advanced graphics capabilities.

The two institutes originally each had their own proposals, namely X3DOM and XML3D, but say they are now distilling their technologies into common components to bring interactive and highly dynamic 3D graphics to the declarative world of HTML.

The proposal is intended to allow for describing 3D geometry, its material properties (shaders), lights, and virtual cameras as new HTML elements. "These elements can be used almost exactly like existing HTML elements. Therefore, millions of Web developers can quickly begin to include interactive 3D visualizations in their Web applications," says Philipp Slusallek, professor for computer graphics at Saarland University and scientific director in the DFKI and in the Intel Visual Computing Institute (VCI).

Here's a synopsis of the potential benefits to be seen from the project, as stated by Kristian Sons, head of the XML3D research group at DFKI/VCI:

"The proposed declarative extension to HTML offers a high-level approach for Web developers, extending the low-level procedural approach to talk to graphics hardware now offered by WebGL. "Instead of requiring Web developers to become WebGL experts or learn new APIs, we are adding advanced graphics capabilities to HTML, allowing Web developers to reuse their existing skills and directly apply the Web technology they use on a daily basis."

WebGL, or Web Graphics Library, is a JavaScript API for rendering interactive 3D graphics and 2D graphics within any compatible web browser without the use of plug-ins. (Wikipedia)

At least two implementations will be made available, the groups say: For the short term a JavaScript implementation using WebGL for rendering will allow developers to get started immediately, while a native implementation integrated within the browser will offer optimal performance and full functionality.

(Photo by Joe McKendrick. Hallway in National Gallery of Art.)

Topics: Software Development, Browser

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

11 comments
Log in or register to join the discussion
  • At Last?

    Research groups are working on adding.

    When the headline writer put down "At last," he or she forgot the phrases that mean the same as "Maybe" or "Eventually."
    DannyO_0x98
  • Actually, this *has* been done before. Look up VRML, X3D.

    "Up until now, interactive 3D graphics have not been available on the World Wide Web, even though almost all PCs as well as mobile and embedded devices already contain high-performance 3D graphics hardware to process it. "

    Actually, they have.

    They just never took off.

    Do a bit of research next time. Try starting with VRML (which later became X3D), one of the first attempts to do interactive 3D on the web. It was very much like this proposal.

    The problem is, as always, getting browsers on board. Especially Microsoft's IE. Without the support of at *least* the top two browsers, you might as well throw the spec away. It's worthless without browser support.

    Although I will be honest with you: JavaScript is actually a better language for this. You actually don't want an HTML like language managing your 3D. It's actually not a good fit, and performance will be dissapointing.

    HTML is designed for static pages, not for interactivity. In fact, you really can't do any interactivity in HTML without the help of another language like JavaScript or CSS.

    JavaScript is very much designed for interactivity, and recent browsers have focused a LOT on JavaScript performance. It's actually the best browser based language for an interactive 3D app. I'd much rather learn WebGL than XML3D.

    "we are adding advanced graphics capabilities to HTML, allowing Web developers to reuse their existing skills and directly apply the Web technology they use on a daily basis.""

    If you know HTML, you should know JavaScript. The days of static web pages are long gone. Using both HTML and JavaScript is the norm. If you're still stuck in the '90s, I seriouly doubt you're interested in interactive 3D.
    CobraA1
    • VRML

      Back in 1995, I worked for a 3D software company that was involved with VRML. It was actually pretty cool technology that could still be used today. The reason it failed was the fact that computing technology and the internet couldn't support it. A Pentium box with 16M ram was a pretty high end machine, and most people were still on dialup modems. VRML would perform wonderfully on modern technology. That old fundamental technology though was really the precursor to modern collaborative 3D systems such as Second Life.

      The problem with any browser based 3D though is that a browser is a really horrible platform for 3D. The interface just isn't designed for it, so you need basically a 3D browser that IS designed for it - Like, oh, the Second Life client.

      More of a problem for 3D web however is content. 3D environments can be a lot of fun but someone has to create it. This is where Second Life as a platform shines - they make it easy for anyone to start slapping together 3D content in a collaborative social environment, with the ability to embed HTML, flash, and streaming video on 3D surfaces in-world.

      Slapping 3D up on the web is not the hard problem - we did it over 17 years ago. Creating a easy to use collaborative 3D environment where people can communicate, socialize, share ideas, easily create their own 3D environment / content - is. It's incredibly difficult and expensive, with huge bandwidth, storage, and processing requirements that are out of reach for most.
      NixRocks
  • There's 3D, And There's 3D

    To those saying we've had 3D graphics on the Web before, I should point out that there are different levels of 3D implementation possible.

    VRML and X3D allowed you to define entire scenes that you could navigate through and interact with the objects in.

    WebGL is really just a JavaScript wrapper around the OpenGL ES API. That's a much lower level than VRML and X3D.

    Now imagine if someone offered an entire game engine that could be driven via HTML/CSS and JavaScript--wouldn't that be something?
    ldo17
    • Game engine?

      "Now imagine if someone offered an entire game engine that could be driven via HTML/CSS and JavaScript--wouldn't that be something?"

      Game engine?

      It would be something awful.

      I'm thinking this tech is far better for things like 3D maps and other apps.

      3D games are in their own league - they have much tigher performance expectations, and I doubt even JavaScript would be good enough. We're talking stuff that's normally written in a compiled language, often with low level tweaks. Some devs are known to go as deep as assembly language to get the performance they want.

      The only good way to do games like that is via a browser plugin or extension.
      CobraA1
      • Re: We're talking stuff that's normally written in a compiled language...

        You haven't been keeping up with what's been happening in JavaScript, then.
        ldo17
        • I have

          "You haven't been keeping up with what's been happening in JavaScript, then."

          I have, and it's impressive.

          But it's still a far cry from some of the crazy optimization stuff that game devs are known for.
          CobraA1
          • Considering That ...

            ... lots of actual commercial games use scripting languages like Python and Lua to drive their game engines, I'd say that, most of the time, JavaScript is unlikely to be the performance bottleneck.
            ldo17
    • Ofc. But data encoded in plain HTML text?

      Great, and already exist.

      Go look for Game Engines using WebGL or HTML5 Canvas.

      There is not a single use case for mentioned technology. WebGL+ library do it now.
      przemoli
  • XML to push polygons?

    Sounds incredibly wasteful. If it's not binary it's useless. :-\ How are you going add textures and texture maps? Riddiculous.

    3D is too complex for a web browser, we don't even have decent 2D animation yet. Decent 3D on the web could only work with a plugin and binary data.
    T1Oracle
  • Standard Already Exists

    What would you need such a thing for? A standard already exists. It's called WebGL.

    Just representing 3D objects in XML or any other form of static representation is pretty much useless for interactive websites. You need a programming language which is capable of manipulating these objects.

    WebGL allows you to write 3D applications using OpenGL (the leading industry standard 3D programming API) and JavaScript. With the highly optimized JavaScript engines available in all major browsers, there's no reason not to use WebGL for interactive 3D graphics on the web.
    roncemer