ProjectionData
ProjectionData:
object
Defined in: src/geo/projection/projection_data.ts:8
This type contains all data necessary to project a tile to screen in MapLibre's shader system. Contains data used for both mercator and globe projection.
Type declaration
clippingPlane
clippingPlane: [
number
,number
,number
,number
]
The plane equation for a plane that intersects the planet's horizon.
Assumes the planet to be a unit sphere.
Used by globe projection for clipping.
Uniform name: u_projection_clipping_plane
.
fallbackMatrix
fallbackMatrix:
mat4
Fallback matrix that projects the current tile according to mercator projection.
Used by globe projection to fall back to mercator projection in an animated way.
Uniform name: u_projection_fallback_matrix
.
mainMatrix
mainMatrix:
mat4
The main projection matrix. For mercator projection, it usually projects in-tile coordinates 0..EXTENT to screen,
for globe projection, it projects a unit sphere planet to screen.
Uniform name: u_projection_matrix
.
projectionTransition
projectionTransition:
number
A value in range 0..1 indicating interpolation between mercator (0) and globe (1) projections.
Used by globe projection to hide projection transition at high zooms.
Uniform name: u_projection_transition
.
tileMercatorCoords
tileMercatorCoords: [
number
,number
,number
,number
]
The extent of current tile in the mercator square.
Used by globe projection.
First two components are X and Y offset, last two are X and Y scale.
Uniform name: u_projection_tile_mercator_coords
.
Conversion from in-tile coordinates in range 0..EXTENT is done as follows: