pub struct MeshBuffers {
pub positions: Vec<[f32; 3]>,
pub normals: Vec<[f32; 3]>,
pub uvs: Vec<[f32; 2]>,
pub indices: Vec<u32>,
pub has_suit: bool,
}Expand description
Intermediate mesh buffers returned by HumanEngine::build_mesh.
These are raw SoA→AoS converted buffers straight from the morph engine.
The oxihuman-mesh crate wraps them in oxihuman_mesh::MeshBuffers,
which recomputes normals and adds tangents before export.
has_suit is a safety flag: exporters that produce dressed/clothed output
check this field and refuse to write if false, preventing accidental
export of an unclothed mesh.
Fields§
§positions: Vec<[f32; 3]>Per-vertex XYZ positions after morph application.
normals: Vec<[f32; 3]>Per-vertex normals (copied verbatim from base mesh; recomputed by oxihuman-mesh).
uvs: Vec<[f32; 2]>Per-vertex UV texture coordinates.
indices: Vec<u32>Triangle index list (groups of 3).
has_suit: boolSafety flag: true when a suit/clothing mesh has been applied.
Implementations§
Trait Implementations§
Source§impl Clone for MeshBuffers
impl Clone for MeshBuffers
Source§fn clone(&self) -> MeshBuffers
fn clone(&self) -> MeshBuffers
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MeshBuffers
impl Debug for MeshBuffers
Source§impl PartialEq for MeshBuffers
impl PartialEq for MeshBuffers
impl StructuralPartialEq for MeshBuffers
Auto Trait Implementations§
impl Freeze for MeshBuffers
impl RefUnwindSafe for MeshBuffers
impl Send for MeshBuffers
impl Sync for MeshBuffers
impl Unpin for MeshBuffers
impl UnsafeUnpin for MeshBuffers
impl UnwindSafe for MeshBuffers
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more