Web特效008—一个 `getContext(‘webgl‘)`,浏览器到底交出了什么?上一节我们已经知道,Canvas 2D、WebGL 和 WebGPU 都可以借助同一个 <canvas> 元素显示图形,但它们从画布中拿到的“绘图工具”并不是一回事。当代码写下 canvas.getContext("webgl") 时,浏览器到底交给了 JavaScript 什么?它是一个真正的 GPU 对象,还是一套负责转发命令的接口?它和前面熟悉的 Canvas 2D Context 有什么区别,又为什么一旦选定 WebGL,就不能随意切换回 2D?本文将从这行代码开始,拆开 WebGL Contex