W3C

HTML 3D Element & Native glTF

18 Sep 2019

Attendees

Present
dom, myles, cabanier, AmeliaBR, zhiqiang, Sushanth, roy, mounir, klausw, Jared, Dino, ada, klausw, and_more
Regrets

Chair
zhiqiang, Sushanth
Scribe
dom

Contents


zhiqiang: good afternoon, everyone
... Meeting: HTML 3D element & Native glTF
... we will have two topic here
... zhiqiang from Huawei, mobile platform
... 3D is becoming a popular type of resource, much richer
... to achieve more good experience
... few example
... System level 3D/AR Integration, all platform could play 3D
... you could even use phone to do 3d model, there is a example for this
... once more, for e-Commerce, we could use 3d model to do the goods show
... social platform also suit for 3d
... you also could use 3d model to show the search results
... This is our Usage Scenario
... cloud and client side could do interactive
... challenge here: low-level Web3D interface,Inconvenient, Web 3D Performance is not Good, No Easy way for content + processing sharing to do AR
... our goal is to single line of code to achieve AR and 3d
... this is glTF idea for 3d
... there is a simple example of glTF
... we bring something in mobile, here is the demo
... quick app demo, you could use phone to put a car in surround area
... with a specific tag
... only one tag included
... another demo, we could transit 3 model from one device to another
... I will introduce the api later, we could use this API for the different device
... 3d will have alive feather
... from developer side, we create something called xmodel
... attributes list in slides
... ar, autoplay = true...
... simple view for the architecture
... we have sceneView in native
... there are some thoughts on standardlization
... khnoros have some word on 3d
... from W3C side, I want to proposal Xmodel as highlevel
... also WebXR for lowlevel
... there are some sample code from Apple, Google, MagicLeap
... the last one are our code
... <xmodel src=“mymodel.gltf” mode=“3d”width=300 height=200> </xmodel>

A new HTML element to display a 3D scene, Yasushi Ando (Kabuku Inc.)

W3C Workshop on Web Games

Sushanth: I am come from Microsoft, from immersive WG

Native GLTF #52 in Immersive Web CG

Sushanth: there is a proposal in immersive WG

Spatial Favicons in Immersive Web CG

Sushanth: 3D usage in the web
... you could find 3d people could use for e-commerce purpose
... you could change the car color and give a house overview
... or decorate a room
... you could think about api in highlevel model
... here is a model creat example
... you could add model by code, it's convinient
... introduction for gLB and gLTF
... gLTG JSON represents a scence graph
... we have already done for implantation for gitf 2.0
... @@
... there is a Demo, you will see a 3d demo
... you could see the details for the model
... also we could change the color by gitf
... there are something not including by gITF

<scribe> scribenick: dom

Sushanth: we wanted to compare native with JS-based implementation from performance
... I've used a synthetic benchmark to gauge performance
... we put tons of gltf models together - you get much better fps in native vs threejs
... in another test, we compare when we take animations into account - again big difference in performance
... but that's only true when it uses CPU
... native only addresses main-thread congestion - it only helps with CPU bottleneck
... FPS is gated both by GPU and CPU
... looking in more details, with the three.js based implementation, the bottleneck is the main thread
... with the native implementation, the bottleneck is the GPU
... there are opportunities to reduce congestion on the main thread
... thinking about this further in comparing native vs js
... you don't want to miss frames in a VR environment
... another advantage might be to enable model protection - not sure if it's actually needed
... please bring comments to Immersive Web Proposal github issue

cabanier: work for Magic Leap on the Helio browser
... we did introduce the model tag - it's a custom element, not a native HTML element
... we could easily subtitute with another component e.g. the model-viewer component from Google
... I don't think we need a tag as much as some low-level JS binding
... people are very peculiar about how to integrate their model, it's hard to do it declaratively
... I think an API to load a model and render sounds like a better approach
... I'm happy to also give a demo with my device
... the rendering is done directly by the OS in our case - the browser is a scene graph

mounir: some of my questions have been answered
... what would be the main differences with the custom elements from Magic Leap and Google?
... you mentioned accessibility - it would be good to hear about specific use cases
... similarly to go down into more details in the performance issue - may be useful feedback for WebGL or WebGPU
... one issue for model viewer is stability for an HTML element - feels hard to reach

Sushanth: main difference between JS and native, it seems to be about garbage collection
... Wrt JS, can it achieve the same performance? Native can do multithreading, which even with workers would be hard to do with JS
... native has the upperhand on this; they can also use platform primitives (e.g. on Apple)

Mounir: can WASM help wrt GC?

Sushanth: there are still issues when talking back to the DOM since that remains single-threaded

Zhiqiang: the tag would enable native performance, particularly important on mobile device
... if we have a pre-defined tag, it enables any runtime to use gltf interactive format in a performant manner
... we can integrate all the gltf spec features and bring a good 3D UX

cabanier: the low level bindings talk directly to the OS - we don't go through openGL in Magic Leap
... you don't actually parse glTF in JS

Zhiqiang: there are different levels - low vs high
... if we want to just show a model with some common interface, I think if we can have a related tag for that, and hide all the processing we can get very good performance and power consumtion
... it also makes it easy for users to integrate content

klausw: wrt your native gltf proposal - excellent discussion there
... unclear if a tag is ready
... what if you want to compose models
... it's uncelar
... we shouldn't prematurely standardize things
... I think it would be good to explore with JS solutions for a while
... unless it's really unusable in JS land
... it would be great to have a universally supported tag
... on apple, you would need uszd
... support
... which you would have to take that into account in a model viewer

Zhiqiang: we can have different formats like in video
... e.g. h264 vs vp8
... I agree that we need to explore more before proceeding, with a polyfill

Myles: at a high level, the combination of simplicity and perf is compelling, but several issues need to be addressed
... different renderers across platforms with different capabilities
... finding a common subset would be important
... it would also be a shame if the animation and event didn't align with what is available in CSS
... that requires lots of analysis

AmeliaBR: thank you for the presentation of the two proposals - very encouraging
... different priorities but similar approaches
... having compared your proposals, any concerns on the one or the other?
... will you work towards merging?

Sushanth: no much different between the proposals

Amelia: it sounds like xmodel is a high level blackbox like the img tag
... whereas the native gltf proposal exposes more of the internal
... and thus exposes some of the possible instability of the underlying format
... the use cases may be a bit different
... would be good to understand the differences of use cases and iterate on the features necessary to compare
... iterate with custom elements

Zhiqiang: we've started sync-ing - we agree on the tag approach, overall the ideas are similar
... a combination of a tag and native rendering
... for better performance and quality
... The JS API would also be useful for controlling the tag
... it would also be useful in some cases
... we need more time to explore the use cases
... the general idea seems to provide support in a simple way

Sushanth: are there any Web developers that would have similar needs to what e proposed?

Jared: I would use it

Dino: a few conflicting desires here
... if you take the extensible Web manifest as gospel, this is a great example of starting with low level technologies and we're now getting feedback that people want a simpler approach
... the downside is that you need interop
... it's relatively easy for 2D (e.g PNG), but for 3D, you get very different rendering
... we've even changed rendering across iOS versions
... that's even truer across platforms and OSes
... even if it's clear that's what the users want, there will still be significant challenges in interop in rendering
... we've got feedback that taking a model from sketchfab and rendering in iOS led to unexpected results

<Zakim> ada, you wanted to ask about a x-org web component?

ada: there are 4 different implementations of model viewers
... would be worth collaborating on a single web component to flesh out what web developers need
... once that's done, standardizing something around it might be easier
... it would already be awesome to work with CSS 3D Transforms

Sushanth: when you need to integrate a library to show models, this create resistance
... even for a very popular libraries

Ada: it could live in the Immersive Web WG

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2019/09/20 07:55:02 $