On this page

Class Painter

Initialize a new painter object.

Index

Constructors

Properties

cache: { [_: string]: Program<any> }
context: Context
crossTileSymbolIndex: CrossTileSymbolIndex
currentLayer: number
currentStencilSource: string
debugBuffer: VertexBuffer
debugOverlayCanvas: HTMLCanvasElement
debugOverlayTexture: Texture
debugSegments: SegmentVector
depthEpsilon: number
depthRangeFor3D: DepthRangeType
drawFunctions: DrawFunctions
emptyProgramConfiguration: ProgramConfiguration
glyphManager: GlyphManager
height: number
id: string
imageManager: ImageManager
lineAtlas: LineAtlas
nextStencilID: number
numSublayers: number
opaquePassCutoff: number
pixelRatio: number
quadTriangleIndexBuffer: IndexBuffer
rasterBoundsBuffer: VertexBuffer
rasterBoundsBufferPosOnly: VertexBuffer
rasterBoundsSegments: SegmentVector
rasterBoundsSegmentsPosOnly: SegmentVector
renderPass: RenderPass
renderToTexture: IRenderToTexture
stencilClearMode: StencilMode
style: Style
symbolFadeChange: number
terrainFacilitator: {
    coordsDirty: boolean;
    depthDirty: boolean;
    matrix: mat4;
    renderTime: number;
}
tileBorderIndexBuffer: IndexBuffer
tileExtentBuffer: VertexBuffer
tileExtentMesh: Mesh
tileExtentSegments: SegmentVector
viewportBuffer: VertexBuffer
viewportSegments: SegmentVector
width: number
MAX_TEXTURE_POOL_SIZE_PER_BUCKET: 50

Methods

  • Returns void

  • Returns void

  • Parameters

    • size: number

    Returns Texture

  • Returns void

  • Checks whether a pattern image is needed, and if it is, whether it is not loaded.

    Parameters

    Returns boolean

    true if a needed image is missing and rendering needs to be skipped.

  • Render the coords framebuffer if it is coordsDirty

    Returns void

  • Update the depth framebuffer if the camera has moved or tiles have reloaded. Marks coords as depthDirty so they are re-rendered on next demand.

    Parameters

    • requireExact: boolean

    Returns void

  • Returns boolean

  • Returns boolean

  • Parameters

    • width: number
    • height: number
    • pixelRatio: number

    Returns void

  • Parameters

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • Finds the required shader and its variant (base/terrain/globe, etc.) and binds it, compiling a new shader if required.

    Parameters

    • name: string

      Name of the desired shader.

    • OptionalprogramConfiguration: ProgramConfiguration | null

      Configuration of shader's inputs.

    • OptionalforceSimpleProjection: boolean

      Whether to force the use of a shader variant with simple mercator projection vertex shader.

    • Optionaldefines: string[]

      Additional macros to be injected at the beginning of the shader. Expected format is ['#define XYZ'], etc. False by default. Use true when drawing with a simple projection matrix is desired, eg. when drawing a fullscreen quad.

    Returns Program<any>

Was this helpful?
SDK JS
Reference
Painter