Context

new SuperMap3D.Context()

Members

antialias : Boolean

如果 WebGL 上下文支持反锯齿,则为 true。 默认情况下会请求反锯齿,但并非所有系统都支持。

cache : Object

与此上下文关联的对象的缓存。就在Context被销毁之前,destroy将被调用到这个对象字面量中的每个对象上这种方法。 这对于缓存任何可能全局存储的对象(除非它们绑定到特定上下文)以及管理它们的生存期非常有用。

defaultCubeMap : CubeMap

一个立方体贴图,其中每个面都是一个1x1 RGBA纹理,初始化为[255, 255, 255, 255]。这可以用作占位符立方体贴图,以便在下载其他立方体贴图时使用。

defaultFramebuffer : Object

获取代表当前绑定的帧buffer的对象。虽然此实例并非实际的 Framebuffer,但在调用 Texture.FromFramebuffer 时,它被用来表示默认的帧buffer。

defaultTexture : Texture

初始化为[255,255,255,255]的1x1 RGBA纹理。当下载其他纹理时,这可以用作占位符纹理。

depthTexture : Boolean

如果支持 WEBGL_depth_texture,则为 true。 该扩展提供了对深度纹理的访问权限,例如,可以将深度纹理附加到帧buffer,用于阴影映射。
See:

drawBuffers : Boolean

如果支持WEBGL_draw_buffers扩展,则为true。这个扩展提供了对多个呈现目标的支持。framebuffer对象可以有多个颜色附件,GLSL片段着色器可以写入内置输出数组gl_FragData。 使用此功能的着色器需要显式地启用扩展#extension GL_EXT_draw_buffers: enable
See:

drawingBufferHeight : Number

底层 GL 上下文的绘图buffer高度。
See:

drawingBufferWidth : Number

底层 GL 上下文的绘图buffer宽度。
See:

elementIndexUint : Boolean

如果支持 OES_element_index_uint 扩展,则为 true。该扩展允许使用无符号 int 索引,这可以消除无符号短索引造成的批处理中断,从而提高性能。
See:

etc1 : Boolean

如果支持 WEBGL_texture_compression_etc1,则为 true。 此扩展可访问 ETC1 压缩纹理。
See:

floatingPointTexture : Boolean

如果支持 OES_texture_float,则为 true。该扩展提供了对浮点纹理的访问,例如,可以将浮点纹理连接到帧缓冲区,以获得高动态范围。
See:

fragmentDepth : Boolean

如果支持EXT_frag_depth扩展,则为true。这个扩展提供了访问gl_FragDepthEXT内置输出变量从GLSL片段着色器。 使用这些函数的着色器仍然需要显式地启用扩展#extension GL_EXT_frag_depth: enable
See:

instancedArrays : Boolean

如果支持ANGLE_instanced_arrays扩展,则为true。这个扩展提供了对实例化呈现的访问。
See:

memoryThreshold : Number

设置场景总的显存资源占用阈值,默认值:4G,单位GB。 根据机器内存显存大小适当调整这个值,避免因资源占满导致崩溃。

options

Example:
{
  webgl : {
    alpha : false,
    depth : true,
    stencil : false,
    antialias : true,
    premultipliedAlpha : true,
    preserveDrawingBuffer : false,
    failIfMajorPerformanceCaveat : true
  },
  allowTextureFilterAnisotropic : true
}

pvrtc : Boolean

如果支持 WEBGL_texture_compression_pvrtc,则为 true。 此扩展可访问 PVR 压缩纹理。
See:

s3tc : Boolean

如果支持 WEBGL_texture_compression_s3tc,则为 true。 此扩展提供了对 DXT 压缩纹理的访问。
See:

standardDerivatives : Boolean

如果支持OES_standard_derivatives扩展,则为true。这个扩展提供了从GLSL访问dFdxdFdyfwidth函数的能力。 使用这些函数的着色器仍然需要通过#extension GL_OES_standard_derivatives : enable明确启用该扩展。
See:

stencilBits : Number

默认绑定帧缓存中每个像素的模板位数。 最小为 8 位。
See:
  • glGet with STENCIL_BITS.

stencilBuffer : Boolean

如果 WebGL 上下文支持模板buffer,则为 true。 并非所有系统都支持模板buffer。

vertexArrayObject : Boolean

如果支持 OES_vertex_array_object 扩展,则为 true。 该扩展可以减少切换顶点阵列的开销,从而提高性能。启用后,VertexArray 会自动使用该扩展。
See:

Methods

createPickId(object)Object

为与输入对象关联的唯一ID创建一个用于颜色buffer拾取的ID。这个ID在这个上下文中具有独特的RGBA颜色值。当销毁输入对象时,你必须调用pick ID上的destroy()方法。
Name Type Description
object Object 要与拾取ID关联的对象。
Returns:
带有 color 属性的 PickId 对象。
Throws:
Example:
this._pickId = context.createPickId({
  primitive : this,
  id : this.id
});
See:

getObjectByPickColor(pickColor)Object

获取与拾取颜色相关的对象。
Name Type Description
pickColor Color 选择颜色。
Returns:
与拾取颜色相关联的对象,如果没有与该颜色相关联的对象,则未定义。
Example:
var object = context.getObjectByPickColor(pickColor);
See: