This seems like the modern trend, and I like it.  I&#x27;m going to compare this to the recent developments with OpenGL and Vulkan.  With OpenGL, you ship textual source code for your shaders written in GLSL, and you have to hope that the compiler on your client&#x27;s machine does the right thing!  With Vulkan and SPIR-V, the compiler is taken out of the equation, and you can use whatever language you want to write shaders, validate them ahead of time, and ship the validated binary blobs to the client.  Incidentally, I&#x27;m looking forward to WebGL 2.  I really miss being able to use texture arrays, integers, and instancing.