Breakout session on 3D controls

This breakout session was part of the Workshop on Web games. Notes taken by Atsushi Shimono.

The session starts with a presentation by Yasushi Ando from Kabuku of his position paper, which suggests the creation of a 3D element to be natively supported by Web browsers. The group discusses reasons why a new element may be needed, as opposed to using polyfills and libraries such as Babylon.js. One of these reasons is performance: native rendering will be more performant than having to render the content through JavaScript and WebGL/WebGPU. As glTF becomes the 3D format for the Web, native support for glTF rendering could also be warranted.

Specific use cases for a 3D element include 3D commerce. There exist guidelines for display, e.g. which line should come to face. 3D rendering is not like 2D video on a screen. There needs to be environment mappings of some sort. Similar conversations on display models occurred on glTF for rendering, which could perhaps be done as an extension.

glTF is not the only 3D format. Various Web sites use other format/models: we cannot assume the same set of format will be supported across browsers. Some incubation needs to happen before possible standardization, being careful about performance of rendering

On top of pure rendering issues, various use cases create different needs, like the ability to change colors or scenes. These needs exist in 3D commerce sites as well, and could perhaps be achieved through some metadata approach instead of through extensions. However, keeping specs smaller makes it easier to agree on features.

Incubation could usefully describe higher level needs, as was done for video format specs, where different level of use cases resulted in different specs.

Neil points out that glTF is on GitHub and is 90% open. There is no barrier for adding more inputs.

For a working group, an important point to agree on is which open format to choose. We may be able to agree on a common format, but other formats need to be allowed.

One possible point for discussion is scene data, such as the position of the light sources, or the line of light.

Accessibility could also be a reason to come up with a standardized 3D element for the Web.

An extensible simple 3D viewer is valuable for many areas, including debugging, performance, content protection, etc... User agents could have capability to add JavaScript for control. Also, the browser can tell what is visible on screen like one from microsoft which renders items around you, browser could do similar things on the web.

Some lightweight liaison between gltf group and the immersive web group could be setup to continue the discussion.

An immediate next step is to post an issue on a 3D model element to the incubation repository of the Immersive Web CG.