Struct TileDrawItem
One quad to draw: a tile at an array layer, with alpha and optional parent blend.
public readonly struct TileDrawItem
- Inherited Members
Remarks
OffsetX is the horizontal world copy the quad occupies. Residency, pinning, and cache never see it.
Constructors
TileDrawItem(TileCoord, int, float)
Draws at world copy 0 with no parent blend.
public TileDrawItem(TileCoord tile, int layer, float alpha)
Parameters
tileTileCoordXYZ address of the quad.
layerintGPU array layer for this tile.
alphafloatOpacity in [0, 1].
TileDrawItem(TileCoord, int, float, TileCoord, int)
Draws tile's own rect, but samples a different
tile's array layer through a UV window (partitioned fallback,
displaced mode only). No parent blend: a windowed fallback item
never carries a coarse layer.
public TileDrawItem(TileCoord tile, int layer, float alpha, TileCoord sourceTile, int offsetX)
Parameters
tileTileCoordXYZ address of the quad drawn.
layerintGPU array layer, belonging to
sourceTile.alphafloatOpacity in [0, 1].
sourceTileTileCoordThe tile whose layer is being sampled.
offsetXintHorizontal world copy, 0 = canonical world.
TileDrawItem(TileCoord, int, float, int)
Draws at a world copy with no parent blend.
public TileDrawItem(TileCoord tile, int layer, float alpha, int offsetX)
Parameters
tileTileCoordXYZ address of the quad.
layerintGPU array layer for this tile.
alphafloatOpacity in [0, 1].
offsetXintHorizontal world copy, 0 = canonical world.
TileDrawItem(TileCoord, int, float, int, float)
Draws at world copy 0, blending with a parent layer.
public TileDrawItem(TileCoord tile, int layer, float alpha, int coarseLayer, float blendWeight)
Parameters
tileTileCoordXYZ address of the quad.
layerintGPU array layer for this tile.
alphafloatOpacity in [0, 1].
coarseLayerintParent array layer to blend with.
blendWeightfloatParent-blend weight, unitless.
TileDrawItem(TileCoord, int, float, int, float, int)
Draws at a world copy, optionally blending with a parent layer.
public TileDrawItem(TileCoord tile, int layer, float alpha, int coarseLayer, float blendWeight, int offsetX)
Parameters
tileTileCoordXYZ address of the quad.
layerintGPU array layer for this tile.
alphafloatOpacity in [0, 1].
coarseLayerintParent array layer, or -1 for no blend.
blendWeightfloatParent-blend weight, unitless.
offsetXintHorizontal world copy, 0 = canonical world.
Properties
Alpha
Opacity in [0, 1], 1 = fully opaque.
public float Alpha { get; }
Property Value
BlendWeight
Parent-blend weight, unitless; typically the fractional zoom.
public float BlendWeight { get; }
Property Value
CoarseLayer
Parent array layer for zoom blend, or -1 when not blending.
public int CoarseLayer { get; }
Property Value
Layer
GPU array layer that holds this tile's imagery.
public int Layer { get; }
Property Value
OffsetX
Horizontal world copy this quad occupies, 0 = canonical world.
public int OffsetX { get; }
Property Value
SourceTile
The tile whose array layer Layer actually holds.
Equal to Tile for every self-sourced item (every
constructor below except the explicit-source overload); a
partitioned fallback item (displaced mode only,
TileCoverBuilder.PartitionedFallback) draws Tile's
own rect but samples a different ancestor's layer, and this is
that ancestor. The window into that layer is integer-derivable
from Tile vs this field, computed at instance-fill
time - no float UV field belongs in Core.
public TileCoord SourceTile { get; }
Property Value
Tile
XYZ address of the tile being drawn.
public TileCoord Tile { get; }