For AI agents: a documentation index is available at /llms.txt. Markdown versions of all pages are available by appending .md to any URL.
Class Painter
Index
Constructors
Properties
Methods
Constructors
constructor
-
new Painter(
gl: WebGLRenderingContext | WebGL2RenderingContext,
transform: IReadonlyTransform,
): PainterParameters
- gl: WebGLRenderingContext | WebGL2RenderingContext
- transform: IReadonlyTransform
Returns Painter
Properties
cache
context
crossTileSymbolIndex
currentLayer
currentStencilSource
debugBuffer
debugOverlayCanvas
debugOverlayTexture
debugSegments
depthEpsilon
depthRangeFor3D
drawFunctions
emptyProgramConfiguration
glyphManager
height
id
imageManager
lineAtlas
nextStencilID
numSublayers
opaquePassCutoff
options
pixelRatio
quadTriangleIndexBuffer
rasterBoundsBuffer
rasterBoundsBufferPosOnly
rasterBoundsSegments
rasterBoundsSegmentsPosOnly
renderPass
renderToTexture
stencilClearMode
style
symbolFadeChange
terrainFacilitator
tileBorderIndexBuffer
tileExtentBuffer
tileExtentMesh
tileExtentSegments
transform
viewportBuffer
viewportSegments
width
Static ReadonlyMAX_TEXTURE_POOL_SIZE_PER_BUCKET
Methods
clearStencil
-
Returns void
colorModeForRenderPass
destroy
-
Returns void
getDepthModeFor3D
getDepthModeForSublayer
-
getDepthModeForSublayer(
n: number,
mask: boolean,
func?: CompareFuncType | null,
): Readonly<DepthMode>Parameters
- n: number
- mask: boolean
Optionalfunc: CompareFuncType | null
Returns Readonly<DepthMode>
getStencilConfigForOverlapAndUpdateStencilID
-
getStencilConfigForOverlapAndUpdateStencilID(
tileIDs: OverscaledTileID[],
): [{ [_: number]: Readonly<StencilMode> }, OverscaledTileID[]]Parameters
- tileIDs: OverscaledTileID[]
Returns [{ [_: number]: Readonly<StencilMode> }, OverscaledTileID[]]
getTileTexture
-
Parameters
- size: number
Returns Texture
initDebugOverlayCanvas
-
Returns void
isPatternMissing
-
Checks whether a pattern image is needed, and if it is, whether it is not loaded.
Parameters
Optionalimage: CrossFaded<ResolvedImage> | null
Returns boolean
true if a needed image is missing and rendering needs to be skipped.
maybeDrawCoords
-
Render the coords framebuffer if it is coordsDirty
Returns void
maybeDrawDepth
-
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
opaquePassEnabledForLayer
-
Returns boolean
overLimit
-
Returns boolean
render
-
Parameters
- style: Style
- options: PainterOptions
Returns void
renderLayer
-
renderLayer(
painter: Painter,
tileManager: TileManager,
layer: StyleLayer,
coords: OverscaledTileID[],
renderOptions: RenderOptions,
): voidParameters
- painter: Painter
- tileManager: TileManager
- layer: StyleLayer
- coords: OverscaledTileID[]
- renderOptions: RenderOptions
Returns void
resize
-
Parameters
- width: number
- height: number
- pixelRatio: number
Returns void
saveTileTexture
-
Parameters
- texture: Texture
Returns void
setBaseState
-
Returns void
setCustomLayerDefaults
-
Returns void
setup
-
Returns void
stencilConfigForOverlapTwoPass
-
stencilConfigForOverlapTwoPass(
tileIDs: OverscaledTileID[],
): [
{ [_: number]: Readonly<StencilMode> },
{ [_: number]: Readonly<StencilMode> },
OverscaledTileID[],
]Parameters
- tileIDs: OverscaledTileID[]
Returns [
{ [_: number]: Readonly<StencilMode> },
{ [_: number]: Readonly<StencilMode> },
OverscaledTileID[],
]
stencilModeFor3D
-
Returns StencilMode
stencilModeForClipping
-
Parameters
- tileID: OverscaledTileID
Returns StencilMode
useProgram
-
useProgram(
name: string,
programConfiguration?: ProgramConfiguration | null,
forceSimpleProjection?: boolean,
defines?: string[],
): Program<any>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 | nullConfiguration of shader's inputs.
OptionalforceSimpleProjection: booleanWhether 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>
- name: string
Internal
Initialize a new painter object.