ContextOptions 对象定义了一个场景的创建配置项。
以下是 ContextOptions 对象定义的属性:
| 属性 | 类型 | 描述 | 
|---|---|---|
| webgl | Object | 用于 WebGl 上下文创建的选项 | 
| allowTextureFilterAnisotropic | Boolean | 是否允许进行纹理过滤各向异性 | 
| antialias | Boolean | 表示是否启用平滑处理,抗锯齿 | 
| alpha | Boolean | 表示是否要单独开启 Canvas ,支持颜色通道 | 
| depth | Boolean | 表示是否开启深度缓存,并为找到合适深度的场合透明地绘制 | 
| stencil | Boolean | 表示是否启用模板缓存 | 
| preserveDrawingBuffer | Boolean | 是否存储绘图缓冲以进行后期处理 | 
| preferWebGl2 | Boolean | 是否优先启用 WebGl 2.0 | 
| failIfMajorPerformanceCaveat | Boolean | 如果实现不支持即时编译,则强制请求低干扰渲染上下文 | 
| powerPreference | String | 如果系统具有多个 GPU,则指示浏览器可能更喜欢使用的 GPU 类型 | 
| sceneMode | Number | 场景模式 | 
| mapProjection | Object | 对应的地图投影脚本的名称、扁率等 | 
| globe | Globe | 三维球对象 | 
| orderIndependentTranslucency | Boolean | 是否启用无序半透明渲染 | 
| translucentFramebuffer | Boolean | 是否支持使用半透明的帧缓存,如果半透明则创建帧缓存 | 
| contextOptions | Object | 此选项会传递给 WebGL 上下文的参数,覆盖在其他参数上 | 
以下示例演示了如何创建一个 Cesium 场景时在上下文中配置选项:
var viewer = new Cesium.Viewer('cesiumContainer', {
    contextOptions: {
        webgl: {
            alpha: false,
            depth: true,
            stencil: true,
            antialias: false,
            premultipliedAlpha: true,
            preserveDrawingBuffer: true,
            failIfMajorPerformanceCaveat: false,
        },
        allowTextureFilterAnisotropic: true,
        preferWebGl2: true
    }
});