pub struct TextureCubeMap { /* private fields */ }
Expand description
A texture that covers all 6 sides of a cube.
Implementations§
Source§impl TextureCubeMap
impl TextureCubeMap
Sourcepub fn new(
context: &Context,
right: &CpuTexture,
left: &CpuTexture,
top: &CpuTexture,
bottom: &CpuTexture,
front: &CpuTexture,
back: &CpuTexture,
) -> Self
pub fn new( context: &Context, right: &CpuTexture, left: &CpuTexture, top: &CpuTexture, bottom: &CpuTexture, front: &CpuTexture, back: &CpuTexture, ) -> Self
Creates a new cube map texture from the given CpuTextures. All of the cpu textures must contain data with the same TextureDataType.
Note: Mip maps will not be generated for RGB16F and RGB32F format, even if mip_map_filter
is specified.
Sourcepub fn new_empty<T: TextureDataType>(
context: &Context,
width: u32,
height: u32,
min_filter: Interpolation,
mag_filter: Interpolation,
mipmap: Option<Mipmap>,
wrap_s: Wrapping,
wrap_t: Wrapping,
wrap_r: Wrapping,
) -> Self
pub fn new_empty<T: TextureDataType>( context: &Context, width: u32, height: u32, min_filter: Interpolation, mag_filter: Interpolation, mipmap: Option<Mipmap>, wrap_s: Wrapping, wrap_t: Wrapping, wrap_r: Wrapping, ) -> Self
Creates a new texture cube map.
Note: Mip maps will not be generated for RGB16F and RGB32F format, even if mip_map_filter
is specified.
Sourcepub fn fill<T: TextureDataType>(
&mut self,
right_data: &[T],
left_data: &[T],
top_data: &[T],
bottom_data: &[T],
front_data: &[T],
back_data: &[T],
)
pub fn fill<T: TextureDataType>( &mut self, right_data: &[T], left_data: &[T], top_data: &[T], bottom_data: &[T], front_data: &[T], back_data: &[T], )
Fills the cube map texture with the given pixel data for the 6 images.
§Panic
Will panic if the length of the data for all 6 images does not correspond to the width, height and format specified at construction. It is therefore necessary to create a new texture if the texture size or format has changed.
Sourcepub fn new_from_equirectangular<T: PrimitiveDataType + TextureDataType>(
context: &Context,
cpu_texture: &CpuTexture,
) -> Self
pub fn new_from_equirectangular<T: PrimitiveDataType + TextureDataType>( context: &Context, cpu_texture: &CpuTexture, ) -> Self
Creates a new cube texture generated from the equirectangular texture given as input.
Sourcepub fn as_color_target<'a>(
&'a mut self,
sides: &'a [CubeMapSide],
mip_level: Option<u32>,
) -> ColorTarget<'a>
pub fn as_color_target<'a>( &'a mut self, sides: &'a [CubeMapSide], mip_level: Option<u32>, ) -> ColorTarget<'a>
Returns a ColorTarget which can be used to clear, write to and read from the given side and mip level of this texture.
Combine this together with a DepthTarget with RenderTarget::new to be able to write to both a depth and color target at the same time.
If None
is specified as the mip level, the 0 level mip level is used and mip maps are generated after a write operation if a mip map filter is specified.
Otherwise, the given mip level is used and no mip maps are generated.
Note: DepthTest is disabled if not also writing to a depth texture.
Sourcepub fn number_of_mip_maps(&self) -> u32
pub fn number_of_mip_maps(&self) -> u32
The number of mip maps of this texture.