Table of Contents

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

tile TileCoord

XYZ address of the quad.

layer int

GPU array layer for this tile.

alpha float

Opacity 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

tile TileCoord

XYZ address of the quad drawn.

layer int

GPU array layer, belonging to sourceTile.

alpha float

Opacity in [0, 1].

sourceTile TileCoord

The tile whose layer is being sampled.

offsetX int

Horizontal 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

tile TileCoord

XYZ address of the quad.

layer int

GPU array layer for this tile.

alpha float

Opacity in [0, 1].

offsetX int

Horizontal 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

tile TileCoord

XYZ address of the quad.

layer int

GPU array layer for this tile.

alpha float

Opacity in [0, 1].

coarseLayer int

Parent array layer to blend with.

blendWeight float

Parent-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

tile TileCoord

XYZ address of the quad.

layer int

GPU array layer for this tile.

alpha float

Opacity in [0, 1].

coarseLayer int

Parent array layer, or -1 for no blend.

blendWeight float

Parent-blend weight, unitless.

offsetX int

Horizontal world copy, 0 = canonical world.

Properties

Alpha

Opacity in [0, 1], 1 = fully opaque.

public float Alpha { get; }

Property Value

float

BlendWeight

Parent-blend weight, unitless; typically the fractional zoom.

public float BlendWeight { get; }

Property Value

float

CoarseLayer

Parent array layer for zoom blend, or -1 when not blending.

public int CoarseLayer { get; }

Property Value

int

Layer

GPU array layer that holds this tile's imagery.

public int Layer { get; }

Property Value

int

OffsetX

Horizontal world copy this quad occupies, 0 = canonical world.

public int OffsetX { get; }

Property Value

int

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

TileCoord

Tile

XYZ address of the tile being drawn.

public TileCoord Tile { get; }

Property Value

TileCoord