Represents a single tile in an image tiling system.
Tiles are fundamental units used to manage large images through regular grid subdivision.
Supports both traditional pyramid tiling and specialized formats like RTI/BRDF.
Features:
- Multi-channel texture support
- Cache management properties
- Format-specific byte positioning
- Flexible layout compatibility
- Priority-based loading
Usage Contexts:
-
Tiled Layouts:
- Part of zoom level pyramid
- Grid-based positioning (x, y, level)
-
Image Layouts:
- Direct image subdivision
- Dimensional specification (w, h)
-
Specialized Formats:
- RTI (Reflectance Transformation Imaging)
- BRDF (Bidirectional Reflectance Distribution Function)
- TAR-based formats (tarzoom, itarzoom)
Implementation Details
Property Categories:
- Identification:
{
index: number, // Unique tile ID
bbox: number[], // Spatial bounds
}
- Positioning:
{
// Tiled Layout Properties
level: number, // Zoom level
x: number, // Grid X
y: number, // Grid Y
// Image Layout Properties
w: number, // Width
h: number, // Height
}
- Data Access:
{
start: number, // Byte start
end: number, // Byte end
tex: WebGLTexture[], // Channel textures
missing: number, // Pending channels
}
- Cache Management:
{
time: number, // Creation time
priority: number, // Load priority
size: number // Memory size
}
Format-Specific Considerations:
- Standard Tiling:
- Uses level, x, y for pyramid positioning
- Single texture per tile
- RTI/BRDF:
- Multiple textures per tile (channels)
- Missing counter tracks channel loading
- TAR Formats:
- Uses start/end for byte positioning
- Enables direct data access in archives
Cache Management:
- time: Used for LRU (Least Recently Used) calculations
- priority: Influences loading order
- size: Helps manage memory constraints