用法:
getContext(contextType)
getContext(contextType, contextAttributes)
参数介绍
contextType
取值如下:
"2d"
开始创建CanvasRenderingContext2D对象,该对象表示二维渲染上下文。“webgl”
(或“experimental-webgl”
),它将创建一个表示三维渲染上下文的WebGLRenderingContext
对象。此上下文仅在实现WebGL版本1(OpenGL ES2.0
)的浏览器上可用。“webgl2”
,它将创建一个表示三维渲染上下文的WebGL2RenderingContext
对象。此上下文仅在实现WebGL版本2(OpenGL ES3.0
)的浏览器上可用。“webgpu”
,它将创建一个GPUCanvasContext
对象,表示webgpu渲染管道的三维渲染上下文。此上下文仅在实现WebGPU API的浏览器上可用。“bitmaprenderer”
,它将创建一个ImageBitmapRenderingContext
,该上下文仅提供用给定的ImageBitmap
替换画布内容的功能。
注意:标识符
“experimental-webgl”
用于webgl的新实现。这些实现要么没有达到测试平台的一致性,要么平台上的图形驱动程序还不稳定。Khronos集团根据某些一致性规则对WebGL的实现进行认证
当contextType
取webgl
时,contextAttributes
取值如下:
alpha
一个布尔值,用于指示画布是否包含alpha缓冲区。depth
一个布尔值,指示绘图缓冲区被请求具有至少16位的深度缓冲区。stencil
一个布尔值,指示绘图缓冲区被请求具有至少8位的模版缓冲区。desynchronized
一个布尔值,提示用户代理通过从事件循环中取消画布绘制周期的同步来减少延迟antialias
一个布尔值,指示是否在可能的情况下执行抗锯齿。failIfMajorPerformanceCaveat
一个布尔值,指示如果系统性能较低或没有可用的硬件GPU,是否将创建上下文。powerPreference
对浏览器的提示,指示GPU的什么配置适合WebGL上下文。可能的值为:default
让浏览器决定哪种GPU配置最合适。这是默认值。high-performance
高性能显卡low-power
核心显卡
premultipliedAlpha
一个布尔值,指示页面合成器将假定绘图缓冲区包含具有预乘alpha的颜色。preserveDrawingBuffer
如果该值为true,则缓冲区将不会被清除,并将保留其值,直到被开发人员清除或覆盖为止。xrCompatible
一个布尔值,提示浏览器为沉浸式XR设备使用兼容的图形适配器。不鼓励在创建上下文时设置此同步标志;而是在您打算启动XR会话时调用异步WebGLRenderingContext.makeXRCompatible()
方法。