Struct gltf::texture::TextureTransform
source · pub struct TextureTransform<'a> { /* private fields */ }
Expand description
Many techniques can be used to optimize resource usage for a 3d scene. Chief among them is the ability to minimize the number of textures the GPU must load. To achieve this, many engines encourage packing many objects’ low-resolution textures into a single large texture atlas. The region of the resulting atlas that corresponds with each object is then defined by vertical and horizontal offsets, and the width and height of the region.
To support this use case, this extension adds offset
, rotation
, and scale
properties to textureInfo structures.
These properties would typically be implemented as an affine transform on the UV coordinates.
Implementations§
source§impl<'a> TextureTransform<'a>
impl<'a> TextureTransform<'a>
sourcepub fn offset(&self) -> [f32; 2]
pub fn offset(&self) -> [f32; 2]
The offset of the UV coordinate origin as a factor of the texture dimensions.
sourcepub fn rotation(&self) -> f32
pub fn rotation(&self) -> f32
Rotate the UVs by this many radians counter-clockwise around the origin. This is equivalent to a similar rotation of the image clockwise.
sourcepub fn scale(&self) -> [f32; 2]
pub fn scale(&self) -> [f32; 2]
The scale factor applied to the components of the UV coordinates.