pub struct MipmapData {
pub name: String,
pub width: u32,
pub height: u32,
pub compression: u8,
pub pixel_format: u8,
pub block_size: u8,
pub pixel_size: u8,
pub num_levels: u8,
pub pixel_data: Vec<u8>,
pub level_sizes: Vec<u32>,
pub row_bytes: u32,
}Fields§
§name: String§width: u32§height: u32§compression: u8plBitmap::fCompressionType — 0=uncompressed, 1=DirectX, 2=JPEG, 3=PNG
pixel_format: u8For DirectX: DXT type (1=DXT1, 5=DXT5). For uncompressed: pixel type.
block_size: u8plBitmap::DirectXInfo::fBlockSize — 8 for DXT1, 16 for DXT5
pixel_size: u8plBitmap::fPixelSize — bits per pixel (8, 16, 32)
num_levels: u8§pixel_data: Vec<u8>Raw pixel data for all mip levels, contiguous. Level 0 at offset 0, level 1 at offset level_sizes[0], etc.
level_sizes: Vec<u32>Size of each mip level in bytes. Translated from plMipmap::IBuildLevelSizes() in plMipmap.cpp
row_bytes: u32plMipmap::fRowBytes — bytes per row at level 0
Implementations§
Source§impl MipmapData
impl MipmapData
Sourcepub fn decode_to_rgba(&self) -> Option<Vec<u8>>
pub fn decode_to_rgba(&self) -> Option<Vec<u8>>
Software-decode DXT1/DXT5 compressed texture to RGBA8 bytes. Returns None for uncompressed or unsupported formats.
Sourcepub fn from_object_data(data: &[u8], name: &str) -> Result<Self>
pub fn from_object_data(data: &[u8], name: &str) -> Result<Self>
Parse a plMipmap from raw object data. Translated from plMipmap::Read() in plMipmap.cpp Inheritance: plMipmap : plBitmap : hsKeyedObject (NO plSynchedObject!)
Sourcepub fn from_cubic_envmap_data(data: &[u8], name: &str) -> Result<Vec<Self>>
pub fn from_cubic_envmap_data(data: &[u8], name: &str) -> Result<Vec<Self>>
Parse a plCubicEnvironmap and extract the first face as a regular mipmap. C++ ref: plCubicEnvironmap::Read (plCubicEnvironmap.cpp:99-110) Format: hsKeyedObject + plBitmap (outer) + 6 × plMipmap (face) Each face’s plMipmap::Read includes its own plBitmap::Read + mipmap data. Read all 6 faces from a plCubicEnvironmap. C++ ref: plCubicEnvironmap.cpp:99-110 — reads 6 plMipmap faces in order: kLeftFace=0, kRightFace=1, kFrontFace=2, kBackFace=3, kTopFace=4, kBottomFace=5
Trait Implementations§
Source§impl Clone for MipmapData
impl Clone for MipmapData
Source§fn clone(&self) -> MipmapData
fn clone(&self) -> MipmapData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more