[x3d-public] Vulcan, Metal, WebGPU impact on x3d NG

Leonard Daly Leonard.Daly at realism.com
Tue May 14 09:32:51 PDT 2019

Some background info first.

Web components are a means to create new nodes within HTML that use the 
HTML parser and are more-or-less fully integrated into DOM. New nodes 
are descendants of fundamental node classes. The developer writes the 
code necessary to interpret the attributes of the node and provide the 

Google has developed a web component to display a glTF model. My 
understanding at this time is that the component displays one model with 
all of the features that THREE.dis provides for lighting, environment 
maps, texturing, animation, etc. Anyone who might be saying that this 
web component does all of the work, does not really understand 3D scene 
composition, nor 3D interactions.

Note that OS and Safari are a different matter. Apple appears to be 
going down a different road for the display of 3D content. Something 
like QuickTime for Rx. It does not appear to be an in-browser 
capability. Canary is Google's nightly development build and may be 

XSeen currently does not use Web Components. The current public release 
(0.7) and development release (0.8) use an internal parser for the 
attributes (HTML does the tags). V0.8 has been focused on AR (using the 
phone camera as a background) features. I am planning on a migration to 
web components for V0.9. V0.8 will be out before SIGGRAPH and include 
new tag/attribute documentation. I won't rewrite the API documentation 
until I figure out my plans for V0.9.

The biggest issues for AR I have so far encountered are:

 1. No DIS implementation of Simultaneous Localization And Mapping
    (SLAM) algorithm for tracking translational movement
 2. iOS restricts access to the phone camera in a browser. Safari can
    use it; however, the default configuration of Safari does not use
    WebGL. Chrome and other browsers do not have access to the camera. I
    last checked about 6 weeks ago, things may have changed since then.

Leonard Daly

> Hmm.  On my surfaces, I offset a small distance to get a 
> tangent/normal.  So if I could do it with derivatives and recursion, 
> that would work well.
> I watched the youtube video.  They seemed to indicate that declarative 
> graphics was “done” with webComponents.  That is, if you can load a 
> glTF model with an element, you are done. Only one implementation of 
> webGPU on Macs with Canary (is this a push by Apple?)
> They didn’t make any statements of compatibility between WebGL and WebGPU.
> Expectation seems to be that WebGPU will be implemented in web 
> components for the most part.
> More info here:
> https://gpuweb.github.io/gpuweb/spec/
> What the impact on desktop applications?
> John
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
> *From: *GPU Group <mailto:gpugroup at gmail.com>
> *Sent: *Monday, May 13, 2019 3:31 PM
> *To: *X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *Re: [x3d-public] Vulcan, Metal, WebGPU impact on x3d NG
> DXR (directX) and RTX (Vulkan) can raytrace in real-time on capable 
> (primarily recent RTX series nVidia) GPUs.
> - DXR (DirectX) will run in fallback mode on slightly older GPUs iet GTX
> - that may relate to PBR, like Blender Disney or shader materials
> - can do 'computational geometry' - no triangles, you write a shader 
> to decide what to do with a ray
> - otherwise triangles is builtin
> But how would it all work with web3d?
> Hypothesis: on mouse-up or button press you could raytrace the last frame.
> Doug Sanden
> On Mon, May 13, 2019 at 1:46 PM Andreas Plesch 
> <andreasplesch at gmail.com <mailto:andreasplesch at gmail.com>> wrote:
> There is a new generation of low level graphics programming which aims
> to (slowly) replace OpenGL. I think the goal is to better match modern
> GPU hardware capabilities. These interfaces are becoming more widely
> used. For example, Vulcan is used increasingly by games and Chrome
> Canary on Macs now has WebGPU support:
> https://www.youtube.com/watch?v=K2JzIUIHIhc
> https://en.wikipedia.org/wiki/WebGPU
> https://doc.babylonjs.com/extensions/webgpu
> So we may ask if development of X3D would be impacted by these new 
> technologies.
> One might say, X3D is high level and abstract and therefore only
> implementations in X3D browsers are affected.
> But it is also important to realize that there is a pretty strong
> connection from OpenGL to Inventor to VRML to X3D. In fact, some X3D
> nodes are direct reflections of OpenGL constructs.
> So these new low level technologies may be good opportunity to see if
> X3D should adapt. I do not know much about those technologies but one
> common theme seems to be less or no distinction with compute programs
> (shaders) and graphics programs (shaders) on the GPU, better sharing
> between CPU and GPU, and also shared memory on the GPU for parallel
> access by many GPU units. Wikipedia has some overviews.
> All web 3d frameworks are currently WebGL based. It will be
> interesting to see how their abstractions fit with WebGPU, the
> designated successor to WebGL.
> As a concrete matter, it seems likely that the Programmable shaders
> component would be affected. For example, WebGPU uses WHLSL:
> https://github.com/gpuweb/WHLSL
> It may make sense to start thinking about these interfaces early for
> those of us so inclined,
> -Andreas
> -- 
> Andreas Plesch
> Waltham, MA 02453
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

*Leonard Daly*
3D Systems & Cloud Consultant
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190514/2471d530/attachment.html>

More information about the x3d-public mailing list