Skip to main content

Module texture

Module texture 

Source
Expand description

A 2D texture as the executor samples it (SampledTexture, an Image): its stored levels, the colour transfer applied before filtering, the addressing (with a border’s colour), level-of-detail bias and level range its binding’s sampler states (SamplerUse), and the filtering a caller states (Filtering).

The filtering is the caller’s policy: what a source states of its sampler’s filter may be absent or not modelled, so a caller says how it filters (the base level bilinear, point or bilinear at the nearest level, or trilinear) and reports it. The addressing, the bias and the level range are the binding’s data: an axis whose addressing the sampler state leaves unstated is the caller’s stated assumption (Unstated), never a silent wrap; a border reads the colour the state gives it, and a border with none is refused; a stated bias and level range are applied where the level of detail is computed, or named as not applied (SampledTexture::unhonoured).

The level of detail is the quad footprint’s, or the level the program states. A sample at an implicit level outside a quad (an evaluation one pixel at a time) has no footprint: it is refused, unless the caller states the level such a sample takes (SampledTexture::with_footprintless_level).

Structs§

SampledTexture
A texture the executor samples (see the module documentation).
SamplerUse
What a binding’s sampler gives a texture’s sampling: the addressing along u and v, the colour a border reads, and the level-of-detail bias and level range it states.

Enums§

Filtering
How a texture is filtered: the caller’s stated policy.
Unstated
What an addressing axis the sampler state leaves unstated is.