使用 WebGL 扩展 - Web API
2025-07-12 12:18:49
扩展(extension)在未被官方正式制定为标准前(但仅当它们处于草案阶段时),某些浏览器厂商可能会支持 WebGL 扩展。这样的话,扩展的名字应该加上相应的厂商前缀(MOZ_、WEBKIT_ 等),否则这个扩展只能在浏览器切换了偏好设置的前提下生效。
如果你希望使用最前沿的扩展,并希望在规范被批准后可以继续使用(当然,假设扩展不会以不兼容的方式更改),你可以查询规范扩展名称以及供应商扩展名称。例如:
jsconst ext =
gl.getExtension("OES_vertex_array_object") ||
gl.getExtension("MOZ_OES_vertex_array_object") ||
gl.getExtension("WEBKIT_OES_vertex_array_object");
请注意,不鼓励使用供应商前缀,因此大多数浏览器使用功能标志(feature flag)而不是供应商前缀后面实施实验性扩展。
功能标志有:
Firefox:webgl.enable-draft-extensions
基于 Chromium 的浏览器(Chrome、Opera):chrome://flags/#enable-webgl-draft-extensions