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

Andreas Plesch andreasplesch at gmail.com
Mon May 13 12:44:45 PDT 2019


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



More information about the x3d-public mailing list