# 构造参数
## canvas
> 类型 HTMLCanvasElement | [OffscreenCanvas](https://developer.mozilla.org/zh-CN/docs/Web/API/OffscreenCanvas)
> dom 节点
``` js
// 例一
new WebGLRenderer({
canvas:document.createElement('canvas')
})
// 例二
new WebGLRenderer({
canvas: new OffscreenCanvas(256, 256)
})
```
## context
> 类型 WebGLRenderingContext
>可用于将渲染器附加到已有的渲染环境([RenderingContext](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext))中。默认值是null
``` js
// 例一
var canvas = document.getElementById('myCanvas');
new WebGLRenderer({
// '2d' or '3d' 都是不行的
context:canvas.getContext('webgl')
})
```
## precision
> 类型 string
> 精度 可以是 **"highp"** , **"mediump"** 或者 **"lowp"** . 如果设备支持,默认为 **"highp"**
## alpha
> 类型 boolean
> canvas是否包含alpha (透明度)。默认为**false**
## premultipliedAlpha
> 类型 boolean
> renderer是否假设颜色有premultiplied alpha
> ([位图图像](https://en.wikipedia.org/wiki/Bitmap_image "位图图像")或[alpha混合](https://en.wikipedia.org/wiki/Alpha_blending "阿尔法混合")计算的一种变体,其中假定RGB颜色值已经乘以alpha通道,以减少[Alpha混合](https://en.wikipedia.org/wiki/Alpha_blending "阿尔法混合")期间的计算;使用[混合操作](https://en.wikipedia.org/w/index.php?title=Blend_operation&action=edit&redlink=1 "混合操作(页面不存在)"):`dst *= (1 - alpha) + src`;能够[混合](https://en.wikipedia.org/wiki/Alpha_blending "阿尔法混合")具有[混合](https://en.wikipedia.org/wiki/Additive_blending "添加剂混合")效果的[Alpha混合](https://en.wikipedia.org/wiki/Alpha_blending "Alpha blending"))
## antialias
> 类型 boolean
> 是否执行抗锯齿。默认为 **false**.
## stencil
> 类型 boolean
> 绘图缓存是否有一个至少8位的模板缓存([stencil buffer](https://en.wikipedia.org/wiki/Stencil_buffer))
> 模版缓冲([stencil buffer](https://en.wikipedia.org/wiki/Stencil_buffer))或印模缓冲,是在OpenGL三维绘图等计算机图像硬件中常见的除颜色缓冲、像素缓冲、深度缓冲之外另一种数据缓冲
> [相关连接csdn](https://blog.csdn.net/silangquan/article/details/46608915)
## preserveDrawingBuffer
> 类型 boolean
> 是否保留缓直到手动清除或被覆盖
## powerPreference
> 类型 string
> 提示用户代理怎样的配置更适用于当前WebGL环境。 可能是 **"high-performance"** , **"low-power"** 或 **"default"** 。默认是 **"default"** . 详见[WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.12)
## failIfMajorPerformanceCaveat
> 类型 boolean
## depth
> 类型 boolean
> 绘图缓存是否有一个至少6位的深度缓存([depth buffer](https://en.wikipedia.org/wiki/Z-buffering))。 默认是 **true**.
## logarithmicDepthBuffer
> 类型 boolean
> 是否使用对数深度缓存。如果要在单个场景中处理巨大的比例差异,就有必要使用