<div dir="ltr">DXR (directX) and RTX (Vulkan) can raytrace in real-time on capable (primarily recent RTX series nVidia) GPUs.<div>- DXR (DirectX) will run in fallback mode on slightly older GPUs iet GTX<br><div>- that may relate to PBR, like Blender Disney or shader materials</div><div>- can do 'computational geometry' - no triangles, you write a shader to decide what to do with a ray</div><div>- otherwise triangles is builtin</div><div>But how would it all work with web3d?</div><div>Hypothesis: on mouse-up or button press you could raytrace the last frame.</div><div>Doug Sanden</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 13, 2019 at 1:46 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">There is a new generation of low level graphics programming which aims<br>
to (slowly) replace OpenGL. I think the goal is to better match modern<br>
GPU hardware capabilities. These interfaces are becoming more widely<br>
used. For example, Vulcan is used increasingly by games and Chrome<br>
Canary on Macs now has WebGPU support:<br>
<br>
<a href="https://www.youtube.com/watch?v=K2JzIUIHIhc" rel="noreferrer" target="_blank">https://www.youtube.com/watch?v=K2JzIUIHIhc</a><br>
<br>
<a href="https://en.wikipedia.org/wiki/WebGPU" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/WebGPU</a><br>
<br>
<a href="https://doc.babylonjs.com/extensions/webgpu" rel="noreferrer" target="_blank">https://doc.babylonjs.com/extensions/webgpu</a><br>
<br>
So we may ask if development of X3D would be impacted by these new technologies.<br>
<br>
One might say, X3D is high level and abstract and therefore only<br>
implementations in X3D browsers are affected.<br>
<br>
But it is also important to realize that there is a pretty strong<br>
connection from OpenGL to Inventor to VRML to X3D. In fact, some X3D<br>
nodes are direct reflections of OpenGL constructs.<br>
<br>
So these new low level technologies may be good opportunity to see if<br>
X3D should adapt. I do not know much about those technologies but one<br>
common theme seems to be less or no distinction with compute programs<br>
(shaders) and graphics programs (shaders) on the GPU, better sharing<br>
between CPU and GPU, and also shared memory on the GPU for parallel<br>
access by many GPU units. Wikipedia has some overviews.<br>
<br>
All web 3d frameworks are currently WebGL based. It will be<br>
interesting to see how their abstractions fit with WebGPU, the<br>
designated successor to WebGL.<br>
<br>
As a concrete matter, it seems likely that the Programmable shaders<br>
component would be affected. For example, WebGPU uses WHLSL:<br>
<a href="https://github.com/gpuweb/WHLSL" rel="noreferrer" target="_blank">https://github.com/gpuweb/WHLSL</a><br>
<br>
It may make sense to start thinking about these interfaces early for<br>
those of us so inclined,<br>
<br>
-Andreas<br>
<br>
-- <br>
Andreas Plesch<br>
Waltham, MA 02453<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>