Namespace WoWLib.Formats.M2.Skin
Classes
- M2Batch
An M2 skin render batch (texture unit): submesh + material + the lookup bases the shaders consume.
- M2ShadowBatch
An M2 skin shadow batch (Cata+); the client can also generate these from the render batches.
- M2SkinProfile
One skin profile (a whole LOD's sections and batches). Abstract over the client version; construct a concrete version with M2SkinProfile.ForVersion / for_version.
- M2SkinProfile.Era
The typed era factories: one method per expansion, each returning the concrete range class covering it — the compile-time twin of ForVersion.
- M2SkinProfileCataPlus
One LOD view: local vertex/bone lookups into the model, submeshes and render batches; embedded in the model pre-WotLK, an own .skin file after.
- M2SkinProfileTbcToWotlk
One LOD view: local vertex/bone lookups into the model, submeshes and render batches; embedded in the model pre-WotLK, an own .skin file after.
- M2SkinProfileVanilla
One LOD view: local vertex/bone lookups into the model, submeshes and render batches; embedded in the model pre-WotLK, an own .skin file after.
- M2SkinSection
One renderable geometry section (submesh). Abstract over the client version; construct a concrete version with M2SkinSection.ForVersion / for_version.
- M2SkinSection.Era
The typed era factories: one method per expansion, each returning the concrete range class covering it — the compile-time twin of ForVersion.
- M2SkinSectionTbcPlus
A skin submesh (TBC+): adds the sort center and radius.
- M2SkinSectionVanilla
A skin submesh, vanilla layout (no sort data yet).
- Skin
An external model LOD view (.skin file), abstract over the client version. Construct a concrete version with Skin.for_version(expansion); the per-version Skin* classes are subclasses. See https://wowdev.wiki/M2/.skin.
- Skin.Era
The typed era factories: one method per expansion, each returning the concrete range class covering it — the compile-time twin of ForVersion.
- SkinCataPlus
One external LOD view (.skin file, WotLK+): the 'SKIN' magic plus the profile tables (local lookups, submeshes, render batches). See https://wowdev.wiki/M2/.skin.
- SkinWotlk
One external LOD view (.skin file, WotLK+): the 'SKIN' magic plus the profile tables (local lookups, submeshes, render batches). See https://wowdev.wiki/M2/.skin.
Structs
- M2Batch.Data
A blittable value twin of the NATIVE layout (size 24): read or write whole record buffers through Vector<T>.AsSpan<Data>() / FixedArray<T>.AsSpan<Data>() — one interop crossing for the buffer, where the live-view indexer pays per element. Field offsets are the native ABI's, asserted in the shim.
- M2ShadowBatch.Data
A blittable value twin of the NATIVE layout (size 12): read or write whole record buffers through Vector<T>.AsSpan<Data>() / FixedArray<T>.AsSpan<Data>() — one interop crossing for the buffer, where the live-view indexer pays per element. Field offsets are the native ABI's, asserted in the shim.
- M2SkinSectionTbcPlus.Data
A blittable value twin of the NATIVE layout (size 48): read or write whole record buffers through Vector<T>.AsSpan<Data>() / FixedArray<T>.AsSpan<Data>() — one interop crossing for the buffer, where the live-view indexer pays per element. Field offsets are the native ABI's, asserted in the shim.
- M2SkinSectionVanilla.Data
A blittable value twin of the NATIVE layout (size 32): read or write whole record buffers through Vector<T>.AsSpan<Data>() / FixedArray<T>.AsSpan<Data>() — one interop crossing for the buffer, where the live-view indexer pays per element. Field offsets are the native ABI's, asserted in the shim.