wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
material.hpp File Reference

M2 geometry, texture and material records (namespace wowlib::formats::m2::root::record): the global vertex, the texture definitions and their animated color/weight/transform companions. More...

#include <array>
#include <cstdint>
#include <string>
#include <welder/vocabulary.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/formats/m2/boundaries.hpp>
#include <wowlib/formats/m2/root/record/track.hpp>
Include dependency graph for material.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::m2::root::record::M2ColorBase
 The version-agnostic base of every M2Color<V> (welded as "M2Color"). More...
struct  wowlib::formats::m2::root::record::M2TextureWeightBase
 The version-agnostic base of every M2TextureWeight<V> (welded as "M2TextureWeight"). More...
struct  wowlib::formats::m2::root::record::M2TextureFlipbookBase
 The version-agnostic base of every M2TextureFlipbook<V> (welded as "M2TextureFlipbook"). More...
struct  wowlib::formats::m2::root::record::M2TextureTransformBase
 The version-agnostic base of every M2TextureTransform<V> (welded as "M2TextureTransform"). More...
struct  wowlib::formats::m2::root::record::M2Vertex
 An M2 vertex: position, 4-bone weights/indices, normal and two texture coordinate sets. More...
struct  wowlib::formats::m2::root::record::M2Material
 An M2 material: render flags (see MaterialFlags) and the blending mode (see M2/Rendering M2BLEND). More...
struct  wowlib::formats::m2::root::record::M2Texture
 A texture definition: type 0 references the filename (TXID FileDataIDs replace it in 8.0+); non-zero types are runtime component slots (skin, hair, monster skins, ...). More...
struct  wowlib::formats::m2::root::record::detail::M2Color< V >
 A vertex color + alpha animation pair, referenced from skin batches by color index. More...
struct  wowlib::formats::m2::root::record::detail::M2TextureWeight< V >
 A global texture weight (transparency) track. More...
struct  wowlib::formats::m2::root::record::detail::M2TextureFlipbook< V >
 A pre-WotLK texture flipbook slot; never observed engaged in files. More...
struct  wowlib::formats::m2::root::record::detail::M2TextureTransform< V >
 A UV animation: translation/rotation/scaling keyframes for the texture matrix (rotation pivots at texture center 0.5, 0.5). More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::m2
namespace  wowlib::formats::m2::root
 The MD20 model body (M2Root) with its per-version classes.
namespace  wowlib::formats::m2::root::record
 M2 body record structs (sequences, bones, tracks, textures, cameras, emitters) and their flag enums.
namespace  wowlib::formats::m2::root::record::detail

Typedefs

template<ClientVersion V>
using wowlib::formats::m2::root::record::M2Color = detail::M2Color<canonicalVersion(V, M2TrackPivots, M2Versions)>
template<ClientVersion V>
using wowlib::formats::m2::root::record::M2TextureWeight = detail::M2TextureWeight<canonicalVersion(V, M2TrackPivots, M2Versions)>
template<ClientVersion V>
using wowlib::formats::m2::root::record::M2TextureFlipbook = detail::M2TextureFlipbook<canonicalVersion(V, M2TrackPivots, M2Versions)>
template<ClientVersion V>
using wowlib::formats::m2::root::record::M2TextureTransform = detail::M2TextureTransform<canonicalVersion(V, M2TrackPivots, M2Versions)>

Enumerations

enum class  wowlib::formats::m2::root::record::MaterialFlags : std::uint16_t {
  wowlib::formats::m2::root::record::Unlit = 0x1 , wowlib::formats::m2::root::record::Unfogged = 0x2 , wowlib::formats::m2::root::record::TwoSided = 0x4 , wowlib::formats::m2::root::record::DepthTest = 0x8 ,
  wowlib::formats::m2::root::record::DepthWrite = 0x10 , wowlib::formats::m2::root::record::NoCustomAlpha = 0x800
}
 M2Material render flags. More...

Detailed Description

M2 geometry, texture and material records (namespace wowlib::formats::m2::root::record): the global vertex, the texture definitions and their animated color/weight/transform companions.

Definition in file material.hpp.