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.